3

我创建了默认的 MVC 4 Intranet 应用程序并将其配置为使用 Windows 身份验证,如下所示。我正在尝试针对 Active Directory 验证我的角色

<authentication mode="Windows" />
<authorization>
    <deny users="?" />
</authorization>
<roleManager defaultProvider="AspNetWindowsTokenRoleProvider" enabled="true">
</roleManager>
<identity impersonate="true"/>

当我使用以下属性为用户装饰控制器时,它可以正常工作,因为它使用的是 Windows 身份验证

[Authorize(Users=@"domain\username")]

当我尝试使用 Roles 的以下属性来装饰它时,它告诉我我没有被授权。我已经尝试指定角色的完整路径,例如domain\ou container\ ou container\etc 一直到特定的组,但它仍然不起作用。

即使我指定了 AspNetWindowsTokenRoleProvider,我也不确定它使用的是什么角色提供程序

[Authorize(Roles = @"domain\role")]

我想我的问题归结为如何让它针对 AD 组进行身份验证。如果你能指出我正确的方向,我当然会很感激。如果这是重复的,我很抱歉,但我还没有找到适合我的答案。

4

0 回答 0