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();
}

问题是我打字的方式.

我希望这可以帮助别人.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....