none
Seguridad en WCF RRS feed

  • Pregunta

  • Saludos amigos del foro muchas gracias por las respuestas el tema es el siguiente:

    se ha implementado una aplicacion con wcf todo va bien pero surge la necesidad de saber que usuario realizo determinada operación y bueno el sistema tiene una manera de gestionar la seguridad por medio de usuarios registrados en una tabla llamada usuarios, pero el echo es que no se sabe en el servidor que usuario se logueo o que usuario realiza determinada accion ya que el servidor que es un IIS permite el acceso con el usuario anonimo y se conecta a la base de datos por un usuario que tiene autenticacion windows, la pregunta entonces es existe alguna manera de saber que usuario realiza determinada accion en el servicio el app config del servidor es:

    <?xml version="1.0"?>
    <configuration>
      <connectionStrings>
        <add name="EntidadesEmpresa" connectionString="metadata=res://*/BdEmpresa.csdl|res://*/BdEmpresa.ssdl|res://*/BdEmpresa.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(local);initial catalog=bdEmpresa;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
      </connectionStrings>
      <system.serviceModel>
        <client />
        <bindings>
          <basicHttpBinding>
            <binding name="b_HTTP_ServicioEmpresa" sendTimeout="00:05:00"
              maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
              messageEncoding="Mtom">
              <readerQuotas maxDepth="32" maxStringContentLength="2147483647"
                maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
            </binding>
          </basicHttpBinding>
        </bindings>
        <behaviors>
          <serviceBehaviors>
            <behavior name="ServiceBehavior">
              <serviceMetadata httpGetEnabled="true" />
              <serviceDebug includeExceptionDetailInFaults="true" />
            </behavior>
          </serviceBehaviors>
        </behaviors>
        <services>
          <service behaviorConfiguration="ServiceBehavior" name="ASEmpresa.ServiceImplementation.ServEmpresa">
            <endpoint binding="basicHttpBinding" bindingConfiguration="b_HTTP_ServicioEmpresa"
              name="HTTP_ServicioEmpresa" contract="ASEmpresa.ServiceContracts.IScEmpresa" />
            <host>
              <baseAddresses>
                <add baseAddress="http://localhost:9001/ASEmpresa/ServicioEmpresa" />
              </baseAddresses>
            </host>
          </service>
        </services>
      </system.serviceModel>
      <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
      </startup>
    </configuration>

    y el del cliente es

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <system.serviceModel>
            <bindings>
                <basicHttpBinding>
                    <binding name="HTTP_ServicioEmpresa" closeTimeout="00:01:00"
                        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                        allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                        maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                        messageEncoding="Mtom" textEncoding="utf-8" transferMode="Buffered"
                        useDefaultWebProxy="true">
                        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    </binding>
                </basicHttpBinding>
            </bindings>
            <client>
                <endpoint address="http://localhost:9001/ASEmpresa/ServicioEmpresa"
                    binding="basicHttpBinding" bindingConfiguration="HTTP_ServicioEmpresa"
                    contract="ProxyEmpresa.ScEmpresa" name="HTTP_ServicioEmpresa" />
            </client>
        </system.serviceModel>
    </configuration>

    gracias de antemano

    Saludos,

    miércoles, 19 de septiembre de 2012 21:02

Todas las respuestas