akn*_*ds1 6 asp.net-mvc authorization asp.net-mvc-3
在这个ASP.NET MVC 3内部网应用程序(使用MVC 3 Intranet应用程序模板创建)中,用户根据AD自动进行身份验证,我试图限制对本地Administrators组中用户的控制器访问.为了达到这个目的,我试图AuthorizeAttribute像这样申请:
[Authorize(Roles = "Administrators")]
public class ElmahController : Controller
Run Code Online (Sandbox Code Playgroud)
但是,即使我的AD用户(应用程序报告预期用户已经过身份验证)位于本地Administrators组中,但在AuthorizeAttribute应用时我无法访问控制器.只出现一个空白页面.我究竟做错了什么?
另一方面,我已经验证了指定我的特定用户的工作原理:
[Authorize(Users = @"ad\arve")]
public class ElmahController : Controller
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我可以成功检索受限页面.
编辑:
我发现合格的小组BUILTIN工作:
[Authorize(Roles = @"BUILTIN\Administrators")]
Run Code Online (Sandbox Code Playgroud)
这是通过AuthorizeAttribute虽然?? 提到当地团体的权威方式吗?
按照我的教程如何使用ASP.NET MVC创建Intranet站点您需要使用内置的AspNetWindowsTokenRoleProvider类,该类使用Windows组作为角色
[Authorize(Roles = @"BUILTIN\Administrators")]
Run Code Online (Sandbox Code Playgroud)
仅在您是IIS服务器上的管理员时才有效.如果将应用程序部署到公司的生产服务器,则需要在生产服务器上成为本地管理员.