前言
Apache Shiro 是 Java 的一个安全框架。功能强大,使用简单的Java安全框架,它为开发人员提供一个直观而全面的认证,授权,加密及会话管理的解决方案。
功能介绍
资源-角色-权限
登录认证,密码加密(Authentication, Authorization, Cryptography)
用户角色和权限放入缓存(Caching)
会话管理(Session Management)
功能实现
实现说明
基于Spring开发Shiro的话,我们只需要实现ShiroFilterFactoryBean即可。
ShiroFilterFactoryBean filterFactoryBean = new ShiroFilterFactoryBean();filterFactoryBean.setLoginUrl("/login");// 未登录时候跳转URLfilterFactoryBean.setSuccessUrl("/index");// 成功后欢迎页面filterFactoryBean.setUnauthorizedUrl("/unAuthorized");// 未认证页面filterFactoryBean.setSecurityManager(securityManager);filterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
上面我们看到:
SecurityManager是登录认证,缓存管理和会话管理等的具体实现;filterChainDefinitionMap是资源对应的各种Filter的实现;
资源-角色-权限
Map filterChainDefinitionMap = new LinkedHashMap<>();// /user/下面的需要ROLE_USER角色filterChainDefinitionMap.put("/user/**