微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-mvc-4 – 使用活动目录角色提供者MVC4进行授权

我正在构建一个用于企业环境内部使用的MVC4应用程序.我使用 Windows身份验证,这可以正常工作,但是我使用Active Directory组作为授权角色有麻烦.

我的Web.config看起来像这样:

<authentication mode="Windows" />        
<roleManager enabled="true" defaultProvider="AspNetwindowsTokenRoleProvider">
  <providers>
    <clear />
    <add name="AspNetwindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
  </providers>
</roleManager>        
<authorization>
  <deny users="?" />    
</authorization>

当我使用用户授权它工作正常:

[Authorize(Users = @"DOMAIN\User1,DOMAIN\User2")]
public ActionResult Create()
{
    return View();
}

但是当我使用角色时,只是不让该组中的用户访问此操作:

[Authorize(Roles = @"Domain\Group")]
public ActionResult Create()
{
    return View();
}

我也尝试指定没有域的组,因为我在其他回复中阅读,但没有运气…我想我在Web.config中缺少一些东西,但我不知道什么

我正在避免使用自定义角色提供程序,因为MVC4应该在没有自定义角色提供程序的情况下实现(或者至少这就是我的想法)

谁能帮我这个?

提前致谢!

解决方法

我发现是哪个问题.在阅读有关machine.config here的一些信息后,我检查了我已经应用了正确的配置.

Fianlly我得到它这样工作:

[Authorize(Roles = "Domain\\Group")]
public ActionResult Create()
{
    return View();
}

问题是我打字的方式.

我希望这可以帮助别人.

原文地址:https://www.jb51.cc/aspnet/249687.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐