Shiro主要的功能模块有两部分:
(1)登录验证:不是登录用户不能访问敏感资源,只有登录了才可以访问敏感资源;
用户登录成功,就可以访问敏感资源,之后的所有访问都通过Shiro直接访问指定的资源。用户没有登录成功,跳转到指定的登录页面。
**注意:**没有Shiro,项目的功能照样能跑,添加Shiro实际上是横切,把Shiro横切到项目中,实际就是代理模式。
(2)权限验证:不同的用户账号登录成功之后,用户所使用的功能不同,也就是拥有的权限不同。
一定是在登录认证完成之后,才能做Shiro的权限认证,根据用户的权限显示菜单项。
Shiro 的主要功能包括:
Authentication:身份认证,即验证用户是否有登录的身份;
Authorization:授权,进行访问控制,即验证已认证用户是否有足够的权限;
Session Manager:会话管理,即管理用户登录后的会话 Session,用户自登录后,信息都会保存在会话中,会话可以是 JavaSE 环境也可以是 JavaEE 环境;
Cryptography:加密,保护数据的安全性,如将密码加密保存到数据库中