【发布时间】:2011-09-15 07:43:13
【问题描述】:
我正在尝试在我的 ASP .NET MVC3 Web 应用程序中针对 Active Directory 授权用户。我不仅想强制用户登录并对目录中的用户进行授权,而且我还想根据他们所在的组授权用户,如下所示:
[Authorize(Roles = @"DOMAIN\Group")]
我看到的每个示例都用于 Windows 身份验证。我正在使用表单身份验证。我的 Web.config 的重要部分如下:
<add name="ADConnectionString" connectionString="LDAP://blahblahblah" />
<authentication mode="Forms">
<forms name="AD" loginUrl="~/Account/LogOn" />
</authentication>
<membership defaultProvider="ADMembershipProvider">
<providers>
<clear />
<add name="ADMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider"
connectionStringName="ADConnectionString"
attributeMapUsername="sAMAccountName" />
</providers>
</membership>
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">
<providers>
<clear />
<add name="AspNetWindowsTokenRoleProvider"
type="System.Web.Security.WindowsTokenRoleProvider"
/>
</providers>
</roleManager>
我目前收到一条错误提示
仅当用户名参数与用户匹配时才支持方法 当前 Windows 标识中的名称。
是否可以使用表单身份验证来执行此操作?我应该如何配置我的应用程序?
【问题讨论】:
标签: .net asp.net-mvc asp.net-mvc-3 active-directory web-config