ABP权限角色管理的简洁应用

原文:https://blog.csdn.net/mliu/article/details/83064456


https://blog.csdn.net/haojy826/article/details/105986119

ABP中的权限及角色管理可以通过定制完成很多复杂的应用,但是其生成的基本版本,也可以完成基本的权限定制分配及管理工作,本文分为三个部分就此进行介绍分析。

  1. Premissions
      

    Premissions定义的是系统中的功能模块,是权限管理的最小单位,由此决定权限管理的颗粒度,其面向的是程序中的各类功能,需要事先在程序中定义好。

    名称定义:相关的内容涉及到如下模块

    (1)在Core项目中的Authorization目录下的PermissionNames.cs文件中对相应的命名加以定义。

    (2)在Core项目中的Authorization目录下的XXXAuthorizationProvider.cs文件中增加刚才定义的Permission Name。

    具体应用:在模块及方法的入口增加标记

    (1)系统菜单: 在Web项目中App_Start目录下的XXXNavigationProvider.cs文件中,增加如下节所述内容

    requiredPermissionName: PermissionNames.Pages_Users

    (2)MVC控制:在Control的Action方法前加上如下内容

    [AbpAuthorize("Pages.Business.Create")]

    public void CreateBusiness(CreateInput input) { ... }

    如果只是要求登录用户,可只使用[AbpAuthorize],这样系统会检查当前用户是否已经登录。
     

  2. Roles

    角色的定义保存于表AbpRoles中,每个Role对应的权限定义保存于表AbpPermissions中.
     
  3. Users

    用户的定义保存于表AbpUsers中,每个User对应的角色定义保存于表AbpUserRoles中.

 

posted on 2020-10-20 11:36  springsnow  阅读(531)  评论(0编辑  收藏  举报

导航