一、Shiro简介
Shiro是Java领域非常知名的认证( Authentication )与授权 ( Authorization )框架,用以替代JavaEE中的JAAS功能。相 较于其他认证与授权框架,Shiro设计的非常简单,所以广受好 评。任意JavaWeb项目都可以使用Shiro框架,而Spring Security 必须要使用在Spring项目中。所以Shiro的适用性更加广泛。像什么 JFinal 和 Nutz 非Spring框架都可以使用Shiro,而不能使用Spring Security框架。
————————————————
1.1 什么是认证?
认证就是要核验用户的身份,比如说通过用户名和密码来检验用户的身份。说简单一些,认证就是登陆。登陆之后Shiro要记录用户成功登陆的凭证。
1.2 什么是授权?
授权是比认证更加精细度的划分用户的行为。比如说一个教务管理系统中,学生登陆之后只能查 看信息,不能修改信息。而班主任就可以修改学生的信息。这就是利用授权来限定不同身份用户 的行为。
1.3 Shiro靠什么做认证与授权的?
Shiro可以利用 HttpSession 或者 Redis 存储用户的登陆凭证,以及角色或者身份信息。然后利 用过滤器(Filter),对每个Http请求过滤,检查请求对应的 HttpSession 或者 Redis 中的认证 与授权信息。如果用户没有登陆,或者权限不够,那么Shiro会向客户端返回错误信息。 也就是说,我们写用户登陆模块的时候,用户登陆成功之后,要调用Shiro保存登陆凭证。然后查 询用户的角色和权限,让Shiro存储起来。将来不管哪个方法需要登陆访问,或者拥有特定的角色跟权限才能访问,我们在方法前设置注解即可,非常简单。
————————————————