首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC5 EF6 UserRights

MVC5 EF6 UserRights
EN

Stack Overflow用户
提问于 2013-12-15 21:24:10
回答 1查看 121关注 0票数 0

我想知道在MVC应用程序中检查实际登录用户的权限的最佳实践是什么。我想就意见和控权人这样做。

实际上,我可以检查实际记录的用户是否在这样的角色中:

代码语言:javascript
复制
User.IsInRole("roleName");

我有有权利的桌子。每个权利都包含名称和Enum权限表示。我想要完成的是IPrincipal或IIdentity的扩展方法,这样我就可以像这样检查用户的权限:

示例扩展方法:

代码语言:javascript
复制
    public static class MyPrincipal
    {
       public static string HasRight(this IPrincipal principal, EnumRight right)
       {
           // THIS would be place where I would check if a user have right with specific enum.
           return true/false;
       }
    }

然后,在视图或控制器上,我可以这样使用:

代码语言:javascript
复制
if(User.HasRight(EnumRight.AddDocuments) )
{
    //DO SOMETHING
}
  1. 这是好的实践,还是我如何做类似的机制更简单?可能是独立的静态类,而不是扩展?
  2. 如何在扩展方法中获得实际的用户Id,以便从数据库中获取检查用户是否具有权限所需的任何数据?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-16 04:13:26

通常,您将实现授权筛选器,并将其应用于操作方法。下面是如何实现操作过滤器的链接

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20599978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档