新纪录学习创作7(新增数据去空,菜单rbac权限)

当我们新增一个数据的时候,如果没有截取前后空串,则数据就会有空格然后添加成功,导致添加进了相同的数据
代码:

if (jsonObj.containsKey("tag")) {
				JSONObject obj = jsonObj.getJSONObject("tag");
				//成功则将创建的标签添加到标签表
				String tagName = obj.getString("name").trim(); //先给字符去前后空格
				int count = weixinTagService.count(new QueryWrapper<WeixinTag>/().eq("name",
					tagName)); //拿出数据库中的数据和现有的新增数据进行比较,返回数据如果大于0条,则表示数据有重复,返回一个失败提示即可
				if (count > 0) {  
					return R.fail("标签名称不能重复");
				}

如果需要在文本中限制输入内容的大小时,只需在controller层和实体类的属性中添加相应的注解即可!

C层:@validated

public R doEdit(@Validated @RequestBody WeixinTemplate weixinTemplate) {}

VO层:@Length @NotNull

    @Length(min = 0,max = 10,message = "字段不超过19个字!")
	@NotNull
    private String content;

如何快速定位代码位置和数据库位置:

1.定位代码:点击页面,查看代码的路径,然后再编辑器中全局搜索代码(可能不一定全部找到,多尝试一下)
2.定位数据库:如果是本地的,可以直接在配置文件中找到相应的数据库即可;如果是部署在服务器上的数据,那么我们打开服务器找到对应的config文件,即可看到数据库的位置。

菜单权限设计实现:

设计一款后台产品时,用户角色权限控制是最常遇到的问题,本文以最简单最基本菜单权限设计实现,采用具体案例来说明权限设计应该怎么实现。

原始需求:A企业有员工四名,分别是总裁张三、经理李四、员工王五和肖六,为A公司设计一款后台系统,要求每个员工看到的菜单选项不一致。

1.权限的作用意义
顾名思义,“权”代表“权力”,划分了系统的职权,不同的用户拥有不同的权力划分;“限”代表“限制”,在权力划分的基础上对职能范围进行了限制,本文所述的权限相对简单,赋予不同角色看到不同菜单的权限。

权限控制能较好地解决系统安全问题,避免公司机密资料外泄,同时,不同部门使用系统时互不干扰,因此被企业广泛应用。

2.梳理用户、角色的概念
(1)用户
用户是指系统的登录用户,可以理解为一系列的人员,例如登录用户为张三、李四、王五和肖六这几个人。

(2)角色
角色指用户在系统中担任的角色,是系统赋予用户的头衔,例如A公司后台系统角色可以定义为:总裁、经理、员工。
在这里插入图片描述

3.选择合适的权限模型
(1)传统的权限模型
在早期,传统的权限模型就是为用户分配菜单权限,例如张三看到A、B、C菜单,李四看到B、C菜单,王五和肖六看到A、B、C菜单,这种传统的权限模型简单粗暴,直接为用户分配菜单即可,但是随着公司员工激增,在动则数百人的公司里,没一个员工都要分配一次,显然效率太低。

并且,在进行交互设计时,定义数百名用户拥有的菜单权限,那需要写数百行的表格。

(2)RBAC权限模型
RBAC,即基于角色的访问控制(Role-Based Access Control),是优秀的权限控制模型,主要通过角色和权限建立管理,再赋予用户不同的角色,来实现权限控制的目标。

利用该模型来配置权限,直接优点是角色的数量比用户的数量更少,先把权限赋予角色,即可完成权限的分配;再为用户分配相应的角色,即可直接获得角色拥有的权限。

交互设计的福音,只需定义有限的角色拥有哪些菜单权限即可。
在这里插入图片描述

(3)模型其他注意事项
在选择第二种RBAC权限模型时,需要注意,用户——角色——权限之间并非是一对一的对应关系,例如,一个用户可以拥有多种角色,一个角色也可以拥有多个权限,所以应该是多对多的关系,需要和开发说明清楚。
在这里插入图片描述

4.菜单实现效果
如图所示,通过权限控制后,不同用户登录进去看到的菜单显示都不一致,基于角色来进行菜单展示。

(1)总裁角色,菜单A、B、C

(2)经理角色,菜单B、C

(2)员工角色,菜单C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值