扩展吉日嘎拉的用户角色管理,让用户角色编码和名称在一个组织里面唯一

吉日嘎拉的权限管理系统原功能中只是控制用户角色名称唯一,但实际使用中我更需要角色编码唯一不重复!

直接上代码,在Role的Add和Update方法中,增加如下代码:

//检查角色Code是否重复 Troy.Cui 2016-08-17
List<KeyValuePair<string, object>> parametersCode = new List<KeyValuePair<string, object>>();
if (!string.IsNullOrEmpty(entity.OrganizeId))
{
parametersCode.Add(new KeyValuePair<string, object>(BaseRoleEntity.FieldOrganizeId, entity.OrganizeId));
}
parametersCode.Add(new KeyValuePair<string, object>(BaseRoleEntity.FieldCode, entity.Code));
parametersCode.Add(new KeyValuePair<string, object>(BaseRoleEntity.FieldDeletionStateCode, 0));

再加上判断函数,新增和修改的函数有点差别

else if (this.Exists(parametersCode))
            {
                // 编码已重复
                statusCode = Status.ErrorCodeExist.ToString();
            }
else if (this.Exists(parametersCode, entity.Id))
{
// 编码已重复
statusCode = Status.ErrorCodeExist.ToString();
}

看看角色编码报错信息吧:

还有角色名称重复时报错:

当然了,如果你想整个子系统中的任何组织中都不能存在重复的角色编码和名称,可以去掉OrganizeId的判断条件

时间: 2024-08-02 12:29:29

扩展吉日嘎拉的用户角色管理,让用户角色编码和名称在一个组织里面唯一的相关文章

C#开发中Windows域认证登录2016(扩展吉日嘎拉GPM系统V4.2)

2013年搞公司的OA时,为了统一用户登录,将Windows AD的用户和OA的账号对接,OA用户名的规则就是使用Windows AD的用户名,格式举例:Troy.Cui,原理就是先进行域服务器的认证,认证完毕使用自定义的函数根据用户名读取出OA的用户信息,然后读取出用户名和密码信息,最后使用获取到的用户名和密码进行正常的登录.当时的文章:<C#开发中Windows域认证登录2(扩展吉日嘎拉GPM系统)>,本周打算OA中开发在线培训的功能,也想借此机会升级一下底层的应用DotNet.Busin

Oracle442个应用场景-----------角色管理

--------------------------------角色管理------------------------------------ 一.角色的概念和特性 1.什么是角色? 角色就是相关权限的命令集合.使用角色的主要目的就是为了简化权限的管理. 2.角色的特性有哪些? a.使用grant和revoke赋予和回收系统权限 b.角色能够赋予给不论什么除自身之外的角色和用户 c.角色能够由系统和对象权限组成 d.能够启用和禁用角色 e.能够指定一个password f.角色不被不论什么用户

roleManager与角色管理授权

总览地址 https://msdn.microsoft.com/zh-cn/library/9ab2fxh0.aspx 其中基本概述是第一篇:了解角色管理 来自 <https://msdn.microsoft.com/zh-cn/library/5k850zwb.aspx> 第二篇是类的参考而已,以后进阶使用时可供查询之用. 最后一篇是介绍自定义角色提供程序RoleProvider要重写的方法及方法的描述. 若要使用角色管理,首先要启用它,并配置能够利用角色的访问规则(可选).然后可以在运行时

oracle 用户的管理

oracle 用户的管理 创建用户 概述:在 oracle 中要创建一个新的用户使用 create user 语句,一般是具有 dba(数据库管理员)的权限才能使用. create user 用户名 identified by 密码; (oracle 有个毛病,密码必须以字母开头,如果以字母开头,它不会创建用户) 给用户修改密码 概述:如果给自己修改密码可以直接使用 password 用户名 如果给别人修改密码则需要具有 dba 的权限,或是拥有 alter user 的系统权限 SQL> al

Linux CentOS7 VMware usermod命令、用户密码管理、mkpasswd命令

一. usermod命令 usermod可用来修改用户帐号的各项设定 -c, --comment 注释 GECOS 字段的新值 -d, --home HOME_DIR 用户的新主目录 -e, --expiredate EXPIRE_DATE 设定帐户过期的日期为 EXPIRE_DATE -f, --inactive INACTIVE 过期 INACTIVE 天数后,设定密码为失效状态 -g, --gid GROUP 强制使用 GROUP 为新主组 -G, --groups GROUPS 新的附加

centos用户权限管理

进程是以其发起者的身份运行的,它对文件的访问权限,取决于此进程的用户的权限.在linux操作系统启动的过程中,为了能够让后台进程或服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户,而这类用户从不需要登录系统,仅让其他进程以他的身份运行,从而仅能获取普通权限的用户.为此这部分用户称系统用户.同时用户与组密不可分.进程的运行是以它的属主(又称,发起者)来访问的.它能访问资源的权限取决于发起者对某个资源的访问权限.下面是从用户和授权两个角度来讲解用户授权管理. 用户管理 用户按类别分管理员

Linux 用户的管理

1.系统中为什么要有用户? 用户使用来进行安全设定(限制权力),组是用来共享权力,通过建立用户组,或者控制新建用户所在的用户组,可以控制用户访问系统的权限.这就是linux中用户组的意义和价值.附加组:可以决定权限,不一定有附加组:初始组:无法决定权限,一定有,不能更改.用户在系统当中以表格和表格中的一系列字符出现的. 举例:你的杯子你可以用,你的女票也可以,但是外人用就不行,因为你有使用你杯子的权力,可是别人没有. 2.用户存在的形态组:共享权力 举例: (1)自己能决定的组:附加组(如:你认

BOS项目 第8天(权限管理添加、角色管理添加、用户管理添加、shiro权限框架使用ecache缓存)

BOS项目笔记 第8天 今天内容安排: 1.权限管理(初始化.查询.添加) 2.角色管理(添加.查询) 3.用户管理(添加.查询) 4.修改自定义Realm中的授权方法(基于数据库实现) 5.使用ehcache缓存权限数据 6.系统左侧菜单根据登录人的权限动态展示 1. 权限管理 1.1 初始化权限数据 执行sql脚本文件初始化权限数据: 1.2 权限分页查询 第一步:修改页面中datagrid的URL地址,访问FunctionAction的pageQuery的分页查询方法 第二步:创建Func

java权限管理与用户角色权限设计

java权限管理与用户角色权限设计 实现业务系统中的用户权限管理 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能.因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些未经授权的“非法用户”将