故事序言:
2021年12月15日下午闲来无事,之前听说的 “RuoYi” 后台管理系统之后在新的系统中要用到,心血来潮便看看。
开始:
那么什么是 “RuoYi”了,我百度了一下,就如这样
en。。。。之后点进去有很多版本,感兴趣的可以自己看看,这里不再多说。那么这和Spring Security有什么关系啊(#`O′)。嗯对,就是这个系统中的技术栈使用了。。。
看到这个技术栈。。。en好像Spring Security我不是很熟悉哎!那么。。。
学习Spring Security开始
看一看“RuoYi”的实现:
那么就先去看看Spring Security的入门吧
我的笔记:
-
SpringSecurity是基于Filter的安全管理器,由很多个Filter组成,层层过滤达到认证和授权的功能
-
最基本的类 WebSecurityConfigurerAdapter,我们需要写一个配置类基层这个类,并且重写其中的1-3个configure方法(java的方法重载)。大概就这样
认真的朋友可能已经发现了不禁发问:你说三个方法重写,那这里面的
这个是什么?答:这个是密码加密的方法,我们不能使用明码啊,在哪里使用了,不要着急且听我说。哦对了,这里需要主要一个注解
这个注解是加在这个配置类上的,看名字就是开启全局的方法安全嘛?,里面的两个属性,一个是是否启动,一个是是否启动使用注解的方式在方法上进行权限的拦截。
等会,测试提bug了,我去看看。。。
话说回来,那么我们简单的写一个demo看看怎么样哈!
重写第一个configure,如图
上面的这个UserDetailsServiceImpl是实现了Spring Security的UserDetailsService接口,重写loadUserByUsername方法
好了就这样就好了。。。。
那么这里面的UserDetail这类依然要继承Spring Security的User类。图我就不贴了,很简单,你不基成也可以的,直接new User就行。
字段解释:
1.用户名
2.就是密码(这里就使用前面的那个加密方法加密,这样在验证的时候才会一致吗,所以前面那个加密的方法是干什么的大家都知道了吧!!!),
3.权限的List了,泛型是GrantedAuthority类
ok!!到这里基本上就完事了,怎么使用了。。很简单还是看图:
直接在我们的controller中使用这个@PreAuthorize注解就好!意思是在访问前进行验证权限!
结束语
还有很多的注解和许多剩入的知识等你去探索,学习去吧!骚年!!!谢谢!