会话管理
Shiro提供了完整的企业级会话管理功能,不依赖于底层容器,不管是J2SE还是J2EE环境都可以使用,提供了会话管理,会话事件监听,会话存储,容器无关的集群,失效,对web的透明支持,sso单点登录的支持等特性
会话相关apl
Subject.getSession():获取会话
SessionDAO
Shiro提供SessionDAO用于会话持久化,提供CRUD操作
AbstractSessionDAO:提供了SessionDAO的基础实现
CachingSessionDAO:提供了对开发者透明的会话缓存功能
MemorySessionDAO:直接在内存中进行会话维护
EnterpriseCacheSessionDAO:提供了缓存功能的维护
缓存
添加依赖
<dependency>
<groupId>org.crazycake</groupId>
<artifactId>shiro-redis</artifactId>
<version>3.1.0</version>
</dependency>
加密
哈希与盐
1.原始密码经过哈希函数计算后得到一个哈希值
2.改变原始密码,哈希函数计算出的哈希值也会相应的改变
3.同样的密码,哈希值也是相同的
public void testMd5Hash(){
String password = "123456";
String salt="csdn";
Md5Hash md5Hash=new Md5Hash(password,salt,2);
System.out.println(md5Hash.toString());
}
输出结果: