化繁为简 定义权限

        public static class Tickets
        {
            public const string GroupName = "Tickets";

            public const string CreateTicket = "tickets:ticket:create";
            public const string NameOfCreateTicket = "Create ticket";

            public const string EditTicket = "users:user:edit";
            public const string NameOfEditTicket = "Edit ticket";

            public const string DeleteTicket = "tickets:ticket:delete";
            public const string NameOfDeleteTicket = "Delete ticket";

        }

public GetPermissions(){
return new List<PredefinedPermission>(){
     new PredefinedPermission(Tickets.ViewAllTickets,Tickets.NameOfViewTickets,Tickets.GroupName),
                new PredefinedPermission(Tickets.CreateTicket,Tickets.NameOfCreateTicket,Tickets.GroupName),
                new PredefinedPermission(Tickets.EditTicket,Tickets.NameOfEditTicket,Tickets.GroupName),
                new PredefinedPermission(Tickets.DeleteTicket,Tickets.NameOfViewTickets,Tickets.GroupName),
}}

第一个地方因为改进成

使用Enum

	[Description("Tickets")]
	public enum Tickets{
	[Description("View all ticket")]
ViewAll,

Edit,

Delete,

}

第二个改成反射的方式来获取所有的写好的权限。

时间: 2024-10-13 14:33:48

化繁为简 定义权限的相关文章

Linux系统学习 十九、VSFTP服务—虚拟用户访问—为每个虚拟用户建立自己的配置文件,单独定义权限

为每个虚拟用户建立自己的配置文件,单独定义权限 可以给每个虚拟用户单独建立目录,并建立自己的配置文件.这样方便单独配置权限,并可以单独指定上传目录 1.修改配置文件 vi /etc/vsftpd/vsftpd.conf user_config_dir=/etc/vsftpd/vusers_dir    #指定保存虚拟用户配置文件的目录 2.建立目录 3.为每个虚拟用户建立配置文件 vi /etc/vsftpd/vusers_dir/cangls anon_upload_enable=YES an

Spring Security +Oauth2 +Spring boot 动态定义权限

Oauth2介绍:Oauth2是为用户资源的授权定义了一个安全.开放及简单的标准,第三方无需知道用户的账号及密码,就可获取到用户的授权信息,并且这是安全的. 简单的来说,当用户登陆网站的时候,需要账号和密码,但是你没有账号和密码,你需要注册网站的账号和密码,可是你不想注册,如果我有(qq,github,微博,facebook)第三方网站的账号,直接登陆当前网站访问网站的资源就好了?有没有这种实现呢? 答案是yes,当然为统一规范,其中就用到 oauh2. ouah2有4中实现模式(参考阮一峰的

SQL Server中授予用户查看对象定义的权限

  在SQL Server中,有时候需要给一些登录名(用户)授予查看所有或部分对象(存储过程.函数.视图.表)的定义权限存.如果是部分存储过程.函数.视图授予查看定义的权限,那么就像下面脚本所示,比较繁琐: GRANT VIEW DEFINITION ON  YOUR_PROCEDURE TO   USERNAME; GRANT VIEW DEFINITION ON  YOUR_FUNCTION TO USERNAME; GRANT VIEW DEFINITION ON  YOUR_VIEW T

如何只授予用户查看存储过程定义的权限

有个网友问我,如何授予某个用户只能查看某些存储过程的定义权限,而不能让用户去修改.执行存储过程.看似简单的问题,却因为从没有碰到这样的需求.花了点时间才梳理.总结清楚. 关于ORACLE账号的权限问题,一般分为两种权限: 系统权限: 允许用户执行特定的数据库动作,如创建表.创建索引.创建存储过程等 对象权限: 允许用户操纵一些特定的对象,如读取视图,可更新某些列.执行存储过程等 像这种查看存储过程定义的权限为对象权限,但是我们还是首先来看看关于存储过程的系统权限吧: SQL> SELECT *

基于微服务API级权限的技术架构

一般而言,企业内部一套成熟的权限系统,都是基于角色(Role)的 访问控制方法(RBAC – Role Based Access Control),即权限 (Permission)与角色相关联,用户(User)通过成为适当角色的成员而得到这 些角色的权限,权限包含资源(或者与操作组合方式相结合),最终实现权限控制 的目的. 背景 权限系统是根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源. 一般而言,企业内部一套成熟的权限系统,都是基于角色(Role)的访问控制方法(

6、Struts2拦截器实现权限控制

1.创建如下项目结果 2.在com.entity包下创建 1 package com.entity; 2 3 public class User { 4 private String name; 5 private String pwd; 6 7 public User() { 8 } 9 10 public User(String name, String pwd) { 11 this.name = name; 12 this.pwd = pwd; 13 } 14 15 public Stri

基于EntityFramework的权限的配置和验证

1.   概要 本文主要介绍公司现有系统框架的权限体系,和一些待扩展功能的说明.目前该权限体系基于角色构建(RBAC),原则上,系统中不允许出现对用户.组织等其他对象指派权限的情况. 2.   权限分类 目前系统中的所有表现形式的权限可以归为两类: 一类是描述对象或动作是否可见,我们称之为功能权限(Authority).例如,菜单的可见性.用户添加按钮是否可见.用户添加方法是否可用等: 另一类是描述可见对象的范围或动作的影响范围,我们称之为数据权限(Permission).例如,未成年用户列表.

RBAC权限管理系统

权限控制应该是分为3类: 菜单级别 页面元素级别 数据级别 RBAC介绍 RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成"用户-角色-权限"的授权模型.在这种模型中,用户与角色之间,角色与权限之间,一般是多对多的关系.(如下图) 角色是什么?可以理解为一定数量的权限的集合,权限的载体.例如:一个OA系统,"管理员"."

使用Spring Security实现权限管理

使用Spring Security实现权限管理 1.技术目标 了解并创建Security框架所需数据表 为项目添加Spring Security框架 掌握Security框架配置 应用Security框架为项目的CRUD操作绑定权限 2.权限管理需求描述 为系统中的每个操作定义权限,如定义4个权限: 1)超级权限,可以使用所有操作 2)添加影片权限 3)修改影片权限 4)删除影片权限 为系统设置管理员帐号.密码 为系统创建权限组,每个权限组可以配置多个操作权限,如创建2个权限组: 1)"Admi