springboot 整合 shiro
时间: 2023-09-04 15:07:49 浏览: 137
在Spring Boot中整合Shiro,需要进行以下几个步骤:
1. 在application.properties文件中配置Shiro相关的属性,如服务器端口号、上下文路径、视图前缀和后缀等。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [SpringBoot之整合Shiro(最详细)](https://blog.csdn.net/m0_67392273/article/details/125243717)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
相关问题
springboot整合 shiro
为了在Spring Boot中整合Shiro,需要进行以下几个步骤:
1. 在application.properties文件中配置Shiro相关的属性,比如服务器端口号、应用名称、视图前缀和后缀等。
2. 在pom.xml文件中引入Shiro的依赖,使用shiro-spring-boot-starter的版本为1.5.3。
3. 自定义Realm,Realm是Shiro的核心组件之一,用于验证用户身份和授权。可以自定义一个类继承自org.apache.shiro.realm.Realm,并实现相应的方法,如doGetAuthenticationInfo和doGetAuthorizationInfo等。
4. 可以选择使用Redis作为缓存实现,在pom.xml文件中引入spring-boot-starter-data-redis依赖,并在application.properties文件中配置Redis的连接信息,如端口号、主机名和数据库等。然后启动Redis服务。
通过以上步骤,就可以完成Spring Boot与Shiro的整合,实现身份验证和授权的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [SpringBoot之整合Shiro(最详细)](https://blog.csdn.net/m0_67392273/article/details/125243717)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
springBoot整合shiro
对于Spring Boot整合Shiro,你可以按照以下步骤进行操作:
1. 添加Shiro和相关依赖:在pom.xml文件中添加Shiro和其他相关依赖,如Shiro核心、Web支持等。例如:
```xml
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring-boot-starter</artifactId>
<version>1.8.0</version>
</dependency>
```
2. 配置Shiro:创建一个配置类,用于配置Shiro的相关信息。可以参考下面的示例代码:
```java
@Configuration
public class ShiroConfig {
@Bean
public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager) {
ShiroFilterFactoryBean filterFactoryBean = new ShiroFilterFactoryBean();
filterFactoryBean.setSecurityManager(securityManager);
// 设置登录Url
filterFactoryBean.setLoginUrl("/login");
// 设置未授权Url
filterFactoryBean.setUnauthorizedUrl("/unauthorized");
// 配置拦截规则
Map<String, String> filterChainDefinitionMap = new LinkedHashMap<>();
// 其他规则...
filterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
return filterFactoryBean;
}
@Bean
public SecurityManager securityManager() {
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
securityManager.setRealm(myRealm());
return securityManager;
}
@Bean
public MyRealm myRealm() {
return new MyRealm();
}
}
```
3. 实现自定义Realm:创建一个自定义的Realm类,用于进行身份验证和授权。可以参考下面的示例代码:
```java
public class MyRealm extends AuthorizingRealm {
// 在此方法中进行身份验证
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
// 身份验证逻辑...
return null;
}
// 在此方法中进行授权
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
// 授权逻辑...
return null;
}
}
```
4. 编写登录和授权的相关接口:根据自己的需求,编写登录和授权的相关接口。可以使用@Controller或@RestController注解来标记接口。
以上是Spring Boot整合Shiro的基本步骤,你可以根据自己的实际需求进行进一步的配置和开发。希望能对你有所帮助!