【发布时间】:2018-04-16 13:37:46
【问题描述】:
在一个 Asp net core MVC 应用程序中,我使用 Active Directory 进行自动登录,如下所示:
this.user = UserPrincipal.FindByIdentity(this.context, Environment.UserName);
我得到了用户组:
public List<String> GetUserGroups()
{
List<String> groups = new List<String>();
foreach(GroupPrincipal gr in user.GetGroups())
{
groups.Add(gr.Name);
}
return groups;
}
我想对这些组实施 Autorisation,类似这样:
[Authorize(Roles ="Admin")]
public IActionResult OnlyAdmin(){}
使用将 AD 组与授权角色联系起来的东西,或者如果可能的话直接检查 AD 组的授权,但我不知道如何做这样的事情。
注意:我没有任何登录/注销页面,它只是自动的。
编辑
不知道确切的原因或方式,但它最终可以在没有任何代码的情况下工作,并且只有用户登录 PC 而不是this.user 中指定的用户,但这样就可以了。
但是现在当我尝试访问被拒绝的页面时出现 404 错误,为什么不是 401 或 403 错误?如何将拒绝访问重定向到自定义错误页面?
【问题讨论】:
标签: active-directory asp.net-core-mvc roles active-directory-group asp.net-authorization