-1

除了根据用户组管理对应用程序部分的访问之外,我还尝试使用 Active Directory(没有登录页面)在 MVC3 应用程序上对用户进行身份验证。我已经广泛搜索,没有端到端的例子。我希望有人可以提供帮助。我的 Active Directory 设置是:CN=Test User,OU=NETDOM,DC=NETLAB,DC=COM。

谢谢

4

1 回答 1

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 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。
这里要小心,因为此事件会针对服务器上的所有请求触发,并且可能会影响性能。

于 2012-06-19T14:56:16.703 回答