- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 细粒度权限控制之落地篇下传
前篇介绍了如果对前端菜单和按钮进行动态的展示和隐藏,但是读者应该会想到 前端菜单和按钮的隐藏只不过是为了增加用户体验,实际上后端还要加上相关权限的验证,比如具体到某个接口的权限控制。 本来想介绍shiro如何对接口进行权限控制,后来想想如何和市面上讲的那些理论一样,那样的话多么索然无味,所以接下来将给读者介绍一种 "土" 方法,即很原生态的一种权限控制。 当用户登录时,后台将该用户拥有的权限集合 存储到容器中,这里容器可以是 sessio...
2020-09-06 00:26:45
229
原创 细粒度权限控制之落地篇中传
上几篇文章介绍了用户、角色、权限的关系 和 删除、修改时所需要的注意点,今天这篇文章将介绍前端如何对菜单,按钮进行动态的展示和隐藏。 我们先讲下所需条件,一开始用户使用账号和密码登录系统后,系统的后台将通过该用户主键去关联角色和权限表,获取到 一系列 权限集合值并将之返回给前端,前端通过 sessionStorage进行存储下来。 不知道大家是否还记得 js 的 if语句,那么前端是否能通过 if 来进行 某个元素 的动态展示, 所以 咋们可以给 菜单和按钮 设...
2020-09-06 00:25:35
267
原创 细粒度权限控制之落地篇前传
这里先把效果图贴上来,方便读者有个精准的印象:1.菜单管理(列表,新增)2. 角色管理(列表,新增,修改)3. 用户管理(列表,新增,修改) 通过上面这几个管理页面图片,想必读者也懂了一些大概, 当我们给用户分配多个角色时,我们是否能通过用户主键获取到角色信息,然后再通过拥有的角色信息去获取到 权限集合数据信息。 然后这里主要想讲些用户/角色/权限 删除或者修改时,需要注意的点: 1. 当用户删除时,要去 用户和角色关联表...
2020-09-06 00:24:10
265
原创 细粒度权限控制之基本概念篇
背景: 在开发后台管理页面的某一天,有了个想法,期望页面的一些菜单或者按钮,可以根据一些表里数据来控制其是否展示,顺序,菜单名。 在参考了众多文章和源码,有了自己的idea并进行实操后,有了属于自己的一套细粒度权限控制的解法。 这篇文章将对用户,角色,权限这几张表和关系进行详细的介绍,主要是为了将细粒度权限控制的思路介绍给各位,而不是简单丢下代码的那种,个人觉得代码只是一种让思路落地的工具,相比于 源代码更重要的是对这种情况下的个人思路和体会。 ...
2020-09-06 00:17:17
922
1
原创 java.security 源码学习08 AccessController
1. 源码/** <p> The AccessController class is used for access control operations and decisions. <p> More specifically, the AccessController class is used for three purposes:...
2019-06-26 15:34:59
634
原创 sun.security.action 源码学习07 GetPropertyAction
1. 源码public class GetPropertyAction implements PrivilegedAction<String> { private String theProp; private String defaultVal; public GetPropertyAction(String var1) { this....
2019-06-26 15:20:15
1112
2
原创 java.security 源码学习06 PrivilegedAction
1. 源码/** A computation to be performed with privileges enabled. The computation is performed by invoking {@code AccessController.doPrivileged} on the {@code PrivilegedAction} object. Th...
2019-06-26 15:14:41
1439
原创 java.lang.annotation 源码学习04 Native注解
1. 源码/** Indicates that a field defining a constant value may be referenced from native code. 指示可以从本机代码引用定义常量值的字段。 The annotation may be used as a hint by tools that generate native ...
2019-06-25 22:07:09
1587
原创 java.io 源码学习03 Bits类
1.Bits类是default类型的并非public类型,所以Bits类仅仅只能被IO包下的类所引用构造方法无参数 所有方法都为静态方法,所以可以直接通过类名去访问其下的所有方法2. 源码/** Utility methods for packing/unpacking primitive values in/out of byte arrays using bi...
2019-06-25 20:45:03
291
原创 java.lang 源码学习02 Comparable接口
一. 前言 在Java集合框架里面,各种集合的操作很大程度上都离不开Comparable和Comparator,虽然它们与集合没有显示的关系,但是它们只有在集合里面的时候才能发挥最大的威力。下面是开始我们的分析。二. 源码/** This interface imposes a total ordering on the objects of each class that...
2019-06-25 20:35:19
209
原创 java.io 源码学习01 Serializable接口
1 序列化描述:Java的对象序列化将那些实现了Serializable接口的对象转换成一个字节序列,并能够在以后将这个字节序列完全恢复为原来的对象。这一过程甚至可通过网络进行,自动弥补不同操作系统之间的差异2.两种主要特性:一是Java的远程方法调用RMI,使存活于其他计算机上的对象使用起来就像是存活于本机一样。二是对Java Beans来说,对象的序列化也是必需的,...
2019-06-25 13:12:53
359
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅