Asp.net mvc 4 如何将windows身份验证与角色一起使用?

Asp.net mvc 4 如何将windows身份验证与角色一起使用?,asp.net-mvc-4,breeze,hottowel,Asp.net Mvc 4,Breeze,Hottowel,我可以启动一个标准asp.net mvc 4 intranet项目,并用以下内容装饰控制器或方法: [System.Web.Mvc.Authorize(Roles = "MyApp Users")] 我已经对它进行了测试,它会工作得很好(因为我的域帐户是Active Directory中“MyApp用户”的成员) 但是,我的问题是,如何为应用程序获得相同类型的行为?我尝试装饰我的微风控制器,热毛巾控制器,或任何具有相同属性的方法,我永远无法验证。。。有什么好处 非常感谢你的帮助 终于明白了。我

我可以启动一个标准asp.net mvc 4 intranet项目,并用以下内容装饰控制器或方法:

[System.Web.Mvc.Authorize(Roles = "MyApp Users")]
我已经对它进行了测试,它会工作得很好(因为我的域帐户是Active Directory中“MyApp用户”的成员)

但是,我的问题是,如何为应用程序获得相同类型的行为?我尝试装饰我的微风控制器,热毛巾控制器,或任何具有相同属性的方法,我永远无法验证。。。有什么好处


非常感谢你的帮助

终于明白了。我希望这对其他人有用

首先,必须将WindowsProvider设置为角色管理器,如下所示:

<roleManager defaultProvider="WindowsProvider"
   enabled="true"
   cacheRolesInCookie="false">
  <providers>
    <add
      name="WindowsProvider"
      type="System.Web.Security.WindowsTokenRoleProvider" />
  </providers>
</roleManager>

现在一切都如你所料

您有角色提供程序设置吗?检查IPrincipal,查看您的是否也已登录。我正在使用asp.net mvc的默认角色提供程序。。。没有什么习俗。是的,如果我检查IPrincipal,它会显示我已登录。
[System.Web.Mvc.Authorize(Roles = "YourDomain\\MyApp Users")]