Shiro

一、介绍
1.Shiro:是一种Java安全框架,用于全面的身份验证,授权,加密和会话管理解决方案。

2.谁负责在登录期间获取用户数据(用户名和密码,角色和权限等),以及谁在运行时实际执行这些安全性检查呢?” Shiro调用了一个Realm,并将其Realm插入Shiro的配置中。

二、功能
1.安全认证
简单实现:
Shiro
Shiro

jdbcrealm :从mysql中读取数据(用户信息登陆,固定字段名)
数据源:可以采用c3p0
配置文件:里面【main】代码段 【users】用户段

jdbc_realm.ini($:引用对象 点:相当于方法setXX)

Shiro
2.授权(包含 用户,角色,权限-----角色是权限的集合)
授权方式:
Shiro

  1. 编程式授权例子:
    给用户赋予角色(Role1 ,role2代表用户拥有的角色)
    Shiro
    Shiro
    Shiro
    Has 和check的区别:has 返回boolean ,check直接检查,不符合直接报错,正确无信息。

给角色赋予权限
Shiro
Shiro

  1. 注解式授权
    Shiro

  2. JSP标签

Shiro
Shiro
4. 关联web
Shiro
Shiro

解释:
1.Urls 是当访问这个url时,必须满足后面的用户要求(anon代表所有用户)

2.若直接访问admin,会进行authc认证,在main中会进行authc.loginUrl意思就是若未登录则跳转到/login.
3.若访问/student,必须具有teacher的角色才能访问。
4.若访问teacher ,必须具有user:create权限才能访问。

URL匹配:
Shiro
5.自定义realm
开发中,数据都是从数据库中获取,而不是配置文件,所以需要自定义realm
自定义realm:登陆的时候,将用户的的权限,角色赋值给用户

Shiro
6. Shiro加密:
一些自带的加密方法
7.shiro特性
Shiro
Remember me 低层也是Cookie
8.整合Spring

Shiro
Shiro