基于角色的某些视图的用户权限

发布于 2024-10-18 20:15:28 字数 349 浏览 3 评论 0原文

我正在使用 ASP.NET MVC 3。请原谅我的术语。我们为工作中的某些人员分配角色,然后使用 Windows 身份验证来确定用户具有哪些角色。假设角色是 RoleA、RoleB 和 RoleC。现在我得到了用户的角​​色列表。可以说 UserA 属于 RoleA 和 RoleB。我的一些观点需要经过验证,因为不是每个人都可以查看某些观点。假设 ViewA 只能由属于角色 RoleA 和 RoleB 的用户查看。我该怎么做?我需要调查什么?当不属于这些角色的用户尝试访问视图时,他/她应该被重定向到错误页面。

另外,我需要某种辅助方法来检查这些角色,并在我的视图中使用来隐藏/显示某些控件。在哪里使用这个功能最好?

任何示例代码/文章将不胜感激。

I am using ASP.NET MVC 3. Please excuse my terminology. We assign roles to certain people at work, then we use Windows authentication to determine what roles a user has. Lets say the roles are RoleA, RoleB and RoleC. So now I get a list of roles for a user. Lets says that UserA belongs to RoleA and RoleB. Some of my views need to be authenticated as not everyone can view certain views. Lets say that ViewA can only be viewed by users that belong to roles RoleA and RoleB. How would I do this? What would I need to look into? When a user that does not belong to these roles tries to access the views then he/she should be redirected to an error page.

Also, I need some sort of helper method to check these roles as well to be used in my views to hide/display certain controls. Where is the best place to use this?

Any sample code / articles would be appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

落花浅忆 2024-10-25 20:15:28
[Authorize(Roles = "RoleA,RoleB")]
public ActionResult Foo()
{
    return View();
}

如果您想检查视图中的角色:

@if (User.IsInRole("RoleA"))
{
    <div>This will be visible only to users in RoleA</div>
}
[Authorize(Roles = "RoleA,RoleB")]
public ActionResult Foo()
{
    return View();
}

And if you want to check roles in the view:

@if (User.IsInRole("RoleA"))
{
    <div>This will be visible only to users in RoleA</div>
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文