除了根据用户组管理对应用程序部分的访问之外,我还尝试使用 Active Directory(没有登录页面)在 MVC3 应用程序上对用户进行身份验证。我已经广泛搜索,没有端到端的例子。我希望有人可以提供帮助。我的 Active Directory 设置是:CN=Test User,OU=NETDOM,DC=NETLAB,DC=COM。
谢谢
除了根据用户组管理对应用程序部分的访问之外,我还尝试使用 Active Directory(没有登录页面)在 MVC3 应用程序上对用户进行身份验证。我已经广泛搜索,没有端到端的例子。我希望有人可以提供帮助。我的 Active Directory 设置是:CN=Test User,OU=NETDOM,DC=NETLAB,DC=COM。
谢谢
在您的下方appSettings
,您应该添加
<add key="enableSimpleMembership" value="false" />
<add key="autoFormsAuthentication" value="false" />
然后在
<system.web>
<authentication mode="Windows" />
</system.web>
下面的第一项appSettings
关闭自动重定向到/account/login
路线。而authenication
节点在 IIS 中打开 Windows Auth。
只要它们在服务器所在的域上,那么这应该可以工作,而无需实施任何身份验证
如果要使用成员资格提供程序,请编辑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。
这里要小心,因为此事件会针对服务器上的所有请求触发,并且可能会影响性能。