springboot shiro简单使用
时间: 2024-09-16 10:04:03 浏览: 45
springboot shiro pac4j cas jwt认证中心sso完整项目
4星 · 用户满意度95%
要使用Spring Boot集成Apache Shiro进行简单的身份验证和授权,可以按照以下步骤操作[^1]:
1. 添加依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>io.github.username_0</groupId>
<artifactId>shiro-spring-boot-starter</artifactId>
<!-- 使用最新的版本 -->
</dependency>
```
2. 配置应用上下文:
```java
@Configuration
public class ShiroConfig extends SecurityManagerConfiguration {
// 设置realm(安全管理器)
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
// 实现自定义认证逻辑
}
// 设置授权策略
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
// 实现自定义授权逻辑
}
}
```
3. 用户登录控制器:
```java
@RestController
public class LoginController {
@PostMapping("/login")
public String login(@RequestBody User user) {
// 进行用户名密码校验
// 如果验证成功,返回token或其他认证信息
}
}
```
4. 安全扫描并启用全局过滤器:
```java
@EnableGlobalMethodSecurity(prePostEnabled = true)
@Import(SecurityAutoConfiguration.class)
public class AppConfig {
// ...
}
```
5. 使用`@PreAuthorize`或`@PermitAll`注解控制访问:
```java
@GetMapping("/admin")
@PreAuthorize("hasRole('ADMIN')")
public String adminPage() {
return "Admin Page";
}
```
记得根据实际需求调整上述代码中的认证逻辑、授权策略以及数据库交互部分[^2]。
阅读全文