使用Active Directory进行ASP .NET MVC3应用程序

时间:2012-06-19 14:46:03

标签: c# .net asp.net-mvc-3 active-directory ldap

我正在尝试使用Active Directory(没有登录页面)将用户身份验证到MVC3应用程序,此外还要根据用户组管理对部分应用程序的访问。我搜索的范围很广,没有端到端的例子。我希望有人可以提供帮助。我的Active Directory设置为:CN = Test User,OU = NETDOM,DC = NETLAB,DC = COM。

由于

1 个答案:

答案 0 :(得分:2)

appSettings下,您应该添加

<add key="enableSimpleMembership" value="false" />
<add key="autoFormsAuthentication" value="false" />

然后在

<system.web>
<authentication mode="Windows" />
</system.web>

appSettings下的第一项将关闭自动重定向到/account/login路线。而authenication节点在IIS中启用Windows身份验证。

只要它们位于服务器所在的域上,那么这应该可以工作而无需实现任何身份验证

修改 如果要使用成员资格提供程序,请在system.web节点下添加。

<membership defaultProvider="MyADMembershipProvider">
            <providers>
                <add name="MyADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ConnectionStringFromConnectionSettings" attributeMapUsername="sAMAccountName" />
            </providers>
        </membership>

然后您需要做的就是在Global.asax中为

添加一个事件处理程序
PostAuthenticateRequest

检查AD。
请注意,因为此事件会对服务器上的所有请求触发,并可能影响性能。