Ésta es la manera de hacerlo en la web de autenticación Aplicaciones formas por lo que puede necesitar alguna adaptación para MVC. Utilice el motor de roles y membresía de asp.net. Configure el proveedor para utilizar el proveedor de Membresía de Active Directory Y TAMBIÉN utilice formularios para la autenticación.
<authentication mode="Forms">
<forms name=".ADAuthCookie"
timeout="10"
loginUrl="Login.aspx"
defaultUrl="Default.aspx">
</forms>
o algo parecido ....
La configuración del proveedor se verá algo como esto:
<membership defaultProvider="DomainLoginMembershipProvider">
<providers>
<add name="DomainLoginMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="ADConnectionString"
connectionProtection="Secure"
connectionUsername="domainuser"
connectionPassword="pwd"
attributeMapUsername="sAMAccountName"
enableSearchMethods="false"/>
</providers>
</membership>
La protección de conexión, nombre de usuario y pwd son para la cuenta que tenga acceso para consultar AD en nombre del sistema. Dependiendo de la seguridad de su red, esto puede tener que configurarse o no podrá consultar AD para autenticar al usuario.
Su cadena de conexión se verá algo como:
<connectionStrings>
<add name="ADConnectionString"
connectionString="LDAP://servername:port#/DC=domainname"/>
</connectionStrings>
La cadena de conexión puede tomar muchas formas por lo que puede que tenga que investigar por su entorno.
Para la página de inicio de sesión puede que tenga que ejecutar el método de autenticación y prueba ...
e.Authenticated = Membership.ValidateUser(username, password);
if (e.Authenticated == false)...
el libro de Stephen Shackow "profesional ASP.Net 2.0 Seguridad, membresía y roles de administración" tiene una buena cobertura de usando membresía AD (Capítulo 12). No está en el contexto de MVC, pero la configuración y la configuración serían las mismas.
Nota: Es posible que tenga que añadir a ' ' dentro de ' ' para anular el maestro. –
Keith
Oye, tienes alguna idea de cómo se implementará en MVC5. Gracias – Vivekh
MVC también puede usar el proveedor de Membresía AD. La información web.config y la cadena de conexión anteriores deben ser idénticas o cercanas. – klabranche