这篇文章主要介绍了Spring Boot 整合 Shiro+Thymeleaf过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
成都创新互联是一家集网站建设,嘉黎企业网站建设,嘉黎品牌网站建设,网站定制,嘉黎网站建设报价,网络营销,网络优化,嘉黎网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
1.导包
<!-- springboot 与 shiro 的集成--> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.4.1</version> </dependency> <!-- thymeleaf 与 shiro 集成--> <dependency> <groupId>com.github.theborakompanioni</groupId> <artifactId>thymeleaf-extras-shiro</artifactId> <version>2.0.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency>
2. 编写配置类
@Configuration @ConfigurationProperties(prefix = "shiro") @Data public class ShiroConfig { private String loginUrl; private String unauthorizedUrl; private String successUrl; private String logoutUrl; private String[] anons; private String[] authcs; /** * 配置securityManager * @param userRealm * @return */ @Bean public SecurityManager securityManager(UserRealm userRealm){ DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager(); securityManager.setRealm(userRealm); return securityManager; } /** * 配置shiroFilter * @param securityManager * @return */ @Bean public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager){ ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean(); shiroFilterFactoryBean.setSecurityManager(securityManager); shiroFilterFactoryBean.setLoginUrl(loginUrl); shiroFilterFactoryBean.setUnauthorizedUrl(unauthorizedUrl); shiroFilterFactoryBean.setSuccessUrl(successUrl); Map<String,String> filterMap = new HashMap<>(); if(null != logoutUrl){ filterMap.put(loginUrl,"logout"); } if(anons!=null && anons.length>0){ for(String anon:anons){ filterMap.put(anon,"anon"); } } if(authcs!=null && authcs.length>0){ for(String authc:authcs){ filterMap.put(authc,"authc"); } } shiroFilterFactoryBean.setFilterChainDefinitionMap(filterMap); return shiroFilterFactoryBean; } /** * 配置自定义Realm * @return */ @Bean public UserRealm userRealm(CredentialsMatcher credentialsMatcher){ UserRealm userRealm = new UserRealm(); userRealm.setCredentialsMatcher(credentialsMatcher); return userRealm; } /** * 配置凭证匹配器 * @return */ @Bean public HashedCredentialsMatcher hashedCredentialsMatcher(){ HashedCredentialsMatcher hashedCredentialsMatcher = new HashedCredentialsMatcher(); hashedCredentialsMatcher.setHashAlgorithmName("MD5"); hashedCredentialsMatcher.setHashIterations(10); return hashedCredentialsMatcher; } /** * 配置ShiroDialect,用于Thymeleaf和shiro标签的使用 * @return */ @Bean public ShiroDialect shiroDialect(){ return new ShiroDialect(); } }
3. application.yml 配置 拦截链
# shiro shiro: login-url: /login.html anons: - /login.html - /index.html - doLogin authcs: - /**
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。
网站名称:SpringBoot整合Shiro+Thymeleaf过程解析
URL链接:https://www.cdcxhl.com/article0/pdsjio.html
成都网站建设公司_创新互联,为您提供外贸建站、移动网站建设、服务器托管、面包屑导航、、App设计
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联