Shiro 学习(一)
Shiro 学习(一)
首先清楚一下Shiro 与Spring Security的区别,Shiro 比较小,小中型企业一般都会选择它,因为比较简单。Spring Security功能强大,但是负责,可能实际工作中不太需要太多的功能。当然如果是是学习,最好都学。
四大主要功能:
1.身份认证(Authentication)
身份认证,即登录。可以类比一下自己做的web登录。主要是检查一下用户是不是有相应的身份。
2.授权(Authorization)
授权,即权限验证,主要是验证某个用户是否有某个权限。或者比较细的颗粒,验证用户对某个资源是否有掌控能力。
3.会话管理(Session Manager)
会话管理,就是用户登录一次成功后就是一次会话,所有的消息都会存在会话中,可以类比Session。这个会话可以是JavaSE的也可以是Web环境的,简单说就是控制台和网页的。
4.加密(Cryptography)
加密,主要是用来保护数据安全的,类似密码加密。比java自带的加密人性化很多。
几个小细节
1.Web支持(Web Support)
简单来说就是可以集成到Web 环境中。
2.缓存(Caching)
主要是做缓存用的,例如查一次权限后,后边就不用再查了。提高效率用的。
3.并发验证(Concurrency)
即如在一个线程中开启另一个线程,能把权限自动传播过去;
4.测试(Testing)
提供测试支持。
5.伪装(Run As)
允许一个用户假装为另一个用户(如果他们允许)的身份进行访问;
6.记住我(Remember Me)
即一次登录后,下次再来的话不用登录了。
同时要记住一点,Shiro 不做权限,用户的维护。简单来说,就是权限表,用户表,逻辑管理要自己做。