package com.king.s5.shiro;
import org.apache.shiro.spring.LifecycleBeanPostProcessor;
import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
import org.apache.shiro.mgt.SecurityManager;
import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.LinkedHashMap;
/**
* shiro的配置类
* @author sujin
*
*/
@Configuration
public class ShiroConfiguration {
@Bean(name="shiroFilter")
public ShiroFilterFactoryBean shiroFilter(@Qualifier("securityManager") SecurityManager manager) {
ShiroFilterFactoryBean bean=new ShiroFilterFactoryBean();
bean.setSecurityManager(manager);
//配置登录的url和登录成功的url
bean.setLoginUrl("/login");
bean.setSuccessUrl("/home");
//配置访问权限
LinkedHashMap<String, String> filterChainDefinitionMap=new LinkedHashMap<>();
filterChainDefinitionMap.put("/login*", "anon"); //表示可以匿名访问
filterChainDefinitionMap.put("/loginUser", "anon");
filterChainDefinitionMap.put("/client/test", "anon");
filterChainDefinitionMap.put("/assert/test", "anon");//添加白名单
filterChainDefinitionMap.put("/assert/get", "anon");//添加白名单
filterChainDefinitionMap.put("/assert/assertQuery", "anon");//添加白名单
filterChainDefinitionMap.put("/a", "anon");
filterChainDefinitionMap.put("/book/list", "anon");
filterChainDefinitionMap.put("/logout*","anon");
filterChainDefinitionMap.put("/jsp/error.jsp*","anon");
filterChainDefinitionMap.put("/jsp/login.jsp*","authc");
filterChainDefinitionMap.put("/*", "authc");//表示需要认证才可以访问
filterChainDefinitionMap.put("/**", "authc");//表示需要认证才可以访问
filterChainDefinitionMap.put("/*.*", "authc");
bean.setFilterChainDefinitionMap(filterChainDefinitionMap);
return bean;
}
//配置核心安全事务管理器
@Bean(name="securityManager")
public SecurityManager securityManager(@Qualifier("authRealm") AuthRealm authRealm) {
System.err.println("--------------shiro已经加载----------------");
DefaultWebSecurityManager manager=new DefaultWebSecurityManager();
manager.setRealm(authRealm);
return manager;
}
//配置自定义的权限登录器
@Bean(name="authRealm")
public AuthRealm authRealm(@Qualifier("credentialsMatcher") CredentialsMatcher matcher) {
AuthRealm authRealm=new AuthRealm();
authRealm.setCredentialsMatcher(matcher);
return authRealm;
}
//配置自定义的密码比较器
@Bean(name="credentialsMatcher")
public CredentialsMatcher credentialsMatcher() {
return new CredentialsMatcher();
}
@Bean
public LifecycleBeanPostProcessor lifecycleBeanPostProcessor(){
return new LifecycleBeanPostProcessor();
}
@Bean
public DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator(){
DefaultAdvisorAutoProxyCreator creator=new DefaultAdvisorAutoProxyCreator();
creator.setProxyTargetClass(true);
return creator;
}
@Bean
public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(@Qualifier("securityManager") SecurityManager manager) {
AuthorizationAttributeSourceAdvisor advisor=new AuthorizationAttributeSourceAdvisor();
advisor.setSecurityManager(manager);
return advisor;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
SpringBoot整合Shiro权限框架
共186个文件
xml:103个
class:43个
java:27个
5星 · 超过95%的资源 需积分: 50 95 下载量 166 浏览量
2018-06-03
20:50:06
上传
评论
收藏 178KB ZIP 举报
温馨提示
SpringBoot整合Shiro权限框架,可以参考我的博客文章进行学习https://blog.csdn.net/sujin_/article/details/80558287
资源推荐
资源详情
资源评论
收起资源包目录
SpringBoot整合Shiro权限框架 (186个子文件)
DatamartApiClient.class 7KB
ShiroConfiguration.class 4KB
PageBean.class 4KB
AssertController.class 3KB
AuthRealm.class 3KB
AesEncryptUtil.class 3KB
BookController.class 3KB
LoginController.class 2KB
CustomMVCConfiguration.class 2KB
Book.class 2KB
Role.class 2KB
ClientController.class 2KB
BookBizImplTest.class 2KB
User.class 2KB
JsonUtil.class 1KB
Module.class 1KB
AcconutSync.class 1KB
AccountSyncAnswer.class 1KB
MyBatisConfiguration.class 1KB
BookBizImpl.class 1KB
CredentialsMatcher.class 1KB
Demo.class 1KB
BaseCaseTest.class 1KB
Codes.class 1021B
AuthorizationRequiredParm.class 935B
AssetName.class 914B
ModuleRole.class 871B
UserRole.class 865B
Code.class 792B
S5Application.class 773B
UserBizImpl.class 768B
BookMapper.class 633B
S5ApplicationTests.class 606B
BaseTest.class 549B
UserMapper.class 548B
ModuleMapper.class 399B
RoleMapper.class 391B
IBookBiz.class 371B
JspConfig.class 343B
a.class 266B
ModuleRoleMapper.class 211B
UserRoleMapper.class 205B
IUserBiz.class 184B
mvnw.cmd 5KB
.gitignore 261B
s5.iml 10KB
maven-wrapper.jar 46KB
ShiroConfiguration.java 4KB
PageBean.java 3KB
AesEncryptUtil.java 3KB
AuthRealm.java 2KB
BookBizImplTest.java 2KB
LoginController.java 1KB
CustomMVCConfiguration.java 1KB
User.java 1KB
Role.java 1007B
BaseCaseTest.java 940B
MyBatisConfiguration.java 900B
JspConfig.java 886B
CredentialsMatcher.java 861B
Module.java 782B
JsonUtil.java 644B
S5Application.java 620B
ModuleRole.java 544B
UserRole.java 538B
UserBizImpl.java 493B
UserMapper.java 462B
BaseTest.java 371B
ModuleMapper.java 368B
RoleMapper.java 354B
S5ApplicationTests.java 325B
ModuleRoleMapper.java 192B
UserRoleMapper.java 184B
IUserBiz.java 138B
index.jsp 713B
login.jsp 450B
a.jsp 377B
mvnw 6KB
application.properties 962B
application.properties 962B
jdbc.properties 153B
jdbc.properties 153B
maven-wrapper.properties 110B
workspace.xml 68KB
uiDesigner.xml 9KB
generatorConfig.xml 6KB
generatorConfig.xml 6KB
pom.xml 6KB
BookMapper.xml 4KB
UserMapper.xml 3KB
UserMapper.xml 3KB
ModuleMapper.xml 2KB
ModuleMapper.xml 2KB
RoleMapper.xml 2KB
RoleMapper.xml 2KB
ModuleRoleMapper.xml 1KB
ModuleRoleMapper.xml 1KB
UserRoleMapper.xml 1KB
UserRoleMapper.xml 1KB
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_0_1_BUILD_SNAPSHOT.xml 875B
共 186 条
- 1
- 2
资源评论
- jfeiskfwelfwfw2018-06-12下载看看先
- amber_01232018-08-01下载了。感谢分享
湮顾千古
- 粉丝: 185
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 自学文档,用于自己学习
- asp代码ASP考试成绩分析系统的设计与实现(源代码+论文)
- openssh-9.7p1-1.ky10.aarch64-no-ssh-copy-id.tgz
- asp代码ASP具有动态口令认证机制的网上投票系统的设计(源代码+论文)
- asp代码ASP局域网文件共享及检索系统的设计与开发(源代码+论文)
- asp代码ASP酒店预定管理系统设计(论文+源代码+开题报告)
- javaweb毕业设计-学生住宿管理系统JAVA(可做课程设计).rar
- asp代码ASP教师信息管理系统设计(源代码+论文)
- c语言链表的基本操作实现
- python冒泡排序(Bubble Sort).docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功