package com.wang.config;
import at.pollux.thymeleaf.shiro.dialect.ShiroDialect;
import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.LinkedHashMap;
import java.util.Map;
@Configuration
public class ShiroConfig {
// 3、ShiroFilterFactoryBean
@Bean("shiroFilterFactoryBean")
public ShiroFilterFactoryBean getShiroFilterFactoryBean(@Qualifier("securityManager") DefaultWebSecurityManager defaultWebSecurityManager){
ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
// 设置安全管理器
shiroFilterFactoryBean.setSecurityManager(defaultWebSecurityManager);
// 添加shiro的内置过滤器
/*
anon:无需认证就可以访问
authc:必须认证才可以访问
user:必须有“记住我”功能才能使用
perms:拥有对某个资源的权限才能访问
role:拥有某个角色权限才能访问
*/
Map<String, String> filterChainDefinitionMap = new LinkedHashMap<>();
filterChainDefinitionMap.put("/user/add", "perms[user:add]");
filterChainDefinitionMap.put("/user/update", "perms[user:update]");
filterChainDefinitionMap.put("/user/*", "authc");
// filterChainDefinitionMap.put("/user/add", "authc");
// filterChainDefinitionMap.put("/user/update", "authc");
shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
// 设置登录的请求
shiroFilterFactoryBean.setLoginUrl("/toLogin");
// 未授权页面
shiroFilterFactoryBean.setUnauthorizedUrl("/noauth");
return shiroFilterFactoryBean;
}
// 2、DefaultWebSecurityManager
@Bean(name = "securityManager")
public DefaultWebSecurityManager getDefaultWebSecurityManager(@Qualifier("userRealm")UserRealm userRealm){
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
// 关联UserRealm
securityManager.setRealm(userRealm);
return securityManager;
}
// 1、创建 realm对象 需要自定义
@Bean(name = "userRealm")
public UserRealm userRealm(){
return new UserRealm();
}
//整合ShiroDialect:用来整合shiro-thymeleaf
@Bean
public ShiroDialect getShiroDialect(){
return new ShiroDialect();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
SpringBoot整合Shrio完整代码 (138个子文件)
UserRealm.class 3KB
User.class 3KB
MyController.class 3KB
ShiroConfig.class 3KB
ShiroSpringbootNewApplicationTests.class 999B
UserServiceImpl.class 794B
ShiroSpringbootNewApplication.class 759B
UserMapper.class 354B
UserService.class 226B
.gitignore 184B
login.html 2KB
login.html 2KB
index.html 562B
index.html 562B
update.html 147B
update.html 147B
add.html 144B
add.html 144B
shiro-springboot-new.iml 11KB
maven-wrapper.jar 59KB
ShiroConfig.java 3KB
UserRealm.java 2KB
MyController.java 2KB
UserServiceImpl.java 514B
ShiroSpringbootNewApplicationTests.java 484B
User.java 364B
ShiroSpringbootNewApplication.java 337B
UserMapper.java 326B
UserService.java 209B
maven-wrapper.properties 1019B
application.properties 91B
application.properties 91B
workspace.xml 5KB
pom.xml 3KB
Project_Default.xml 1KB
jarRepositories.xml 887B
compiler.xml 851B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_12_5.xml 760B
Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_2_2_1.xml 754B
Maven__org_thymeleaf_extras_thymeleaf_extras_java8time_3_0_4_RELEASE.xml 749B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_5_6.xml 737B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 724B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_12_5.xml 719B
Maven__org_springframework_boot_spring_boot_starter_logging_2_5_6.xml 716B
Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_2_2_1.xml 712B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_5_6.xml 709B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_12_5.xml 705B
Maven__org_apache_shiro_shiro_spring_boot_web_starter_1_10_0.xml 705B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_5_6.xml 702B
Maven__com_github_theborakompanioni_thymeleaf_extras_shiro_2_0_0.xml 697B
Maven__org_springframework_boot_spring_boot_starter_jdbc_2_5_6.xml 695B
Maven__org_springframework_boot_spring_boot_starter_test_2_5_6.xml 695B
Maven__org_springframework_boot_spring_boot_starter_json_2_5_6.xml 695B
Maven__org_springframework_boot_spring_boot_starter_web_2_5_6.xml 688B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_54.xml 684B
Maven__org_apache_shiro_shiro_spring_boot_starter_1_10_0.xml 677B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_12_5.xml 675B
Maven__org_thymeleaf_thymeleaf_spring5_3_0_12_RELEASE.xml 665B
Maven__org_springframework_boot_spring_boot_starter_2_5_6.xml 660B
Maven__org_junit_platform_junit_platform_commons_1_7_2.xml 657B
Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml 657B
Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml 657B
Maven__com_fasterxml_jackson_core_jackson_databind_2_12_5.xml 654B
Maven__org_junit_platform_junit_platform_engine_1_7_2.xml 650B
Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_54.xml 649B
Maven__commons_collections_commons_collections_3_2_2.xml 640B
Maven__org_junit_jupiter_junit_jupiter_params_5_7_2.xml 639B
Maven__org_junit_jupiter_junit_jupiter_engine_5_7_2.xml 639B
Maven__org_springframework_boot_spring_boot_test_2_5_6.xml 639B
Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml 635B
Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_54.xml 635B
Maven__org_apache_shiro_shiro_crypto_cipher_1_10_0.xml 635B
Maven__org_springframework_spring_expression_5_3_12.xml 633B
Maven__org_apache_logging_log4j_log4j_to_slf4j_2_14_1.xml 632B
Maven__com_fasterxml_jackson_core_jackson_core_2_12_5.xml 626B
Maven__org_mockito_mockito_junit_jupiter_3_9_0.xml 622B
Maven__org_apache_shiro_shiro_crypto_hash_1_10_0.xml 621B
Maven__org_apache_shiro_shiro_config_core_1_10_0.xml 621B
Maven__org_apache_shiro_shiro_crypto_core_1_10_0.xml 621B
Maven__org_apache_shiro_shiro_config_ogdl_1_10_0.xml 621B
Maven__org_junit_jupiter_junit_jupiter_api_5_7_2.xml 618B
Maven__commons_beanutils_commons_beanutils_1_9_4.xml 618B
Maven__org_attoparser_attoparser_2_0_5_RELEASE.xml 613B
Maven__org_springframework_spring_context_5_3_12.xml 612B
Maven__org_thymeleaf_thymeleaf_3_0_12_RELEASE.xml 609B
Maven__net_bytebuddy_byte_buddy_agent_1_10_22.xml 609B
Maven__org_springframework_spring_webmvc_5_3_12.xml 605B
Maven__org_springframework_boot_spring_boot_2_5_6.xml 604B
Maven__org_unbescape_unbescape_1_1_6_RELEASE.xml 602B
Maven__org_springframework_spring_beans_5_3_12.xml 598B
Maven__mysql_mysql_connector_java_8_0_27.xml 598B
Maven__org_apache_logging_log4j_log4j_api_2_14_1.xml 597B
Maven__org_apiguardian_apiguardian_api_1_1_0.xml 596B
Maven__ch_qos_logback_logback_classic_1_2_6.xml 592B
Maven__org_springframework_spring_jdbc_5_3_12.xml 591B
Maven__org_springframework_spring_core_5_3_12.xml 591B
Maven__org_springframework_spring_test_5_3_12.xml 591B
Maven__org_junit_jupiter_junit_jupiter_5_7_2.xml 590B
Maven__org_apache_shiro_shiro_spring_1_10_0.xml 586B
Maven__org_springframework_spring_aop_5_3_12.xml 584B
共 138 条
- 1
- 2
资源评论
叁拾舞
- 粉丝: 8117
- 资源: 17
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- STC15单片机串口2使用程序例子
- 读取日志的excel生成周报 用python3开发weekplan-master.zip
- python 读取excel数据导入dbimport-data-master.zip
- K折交叉验证BP神经网络,多输入多输出BP神经网络(代码完整,数据齐全)
- B07训练原图.zip
- python-对Excel数据处理做可视化分析.zip
- 人工智能大作业-无人机图像目标检测的python源代码+文档说明.zip
- 基于GoogLeNet实现Cifar-10图像分类项目python源码(高分项目).zip
- 数据库 sql 面试题目及答案解析.docx
- 汽车常见 10 种传感器故障后的表现与解决措施.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功