Shiro support for the Spring Security plugin - Reference
Documentation
17.49 KB
6 页
0 下载
85 浏览
0 评论
0 收藏
所属分类:
后端开发 / Java
| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .pdf | 3 |
| 摘要 | ||
文档介绍了Spring Security插件对Shiro的支持,主要功能包括配置Shiro与Spring Security的集成,使用Shiro进行权限管理,以及通过注解实现安全检查。文档还提供了配置选项,如权限域类的配置和缓存设置,并说明了如何通过插件实现用户与权限的关系管理。 | ||
| AI总结 | ||
# Shiro 对 Spring Security 插件的支持 - 参考文档总结
## 概述
Shiro 对 Spring Security 插件提供了对 Shiro 和 Spring Security 的混合使用支持,主要利用 Shiro 的 ACL(访问控制列表)功能,简化权限管理。插件的核心功能包括:
- 监听 Spring Security 认证事件,使用 Spring Security 的认证信息创建和注册 Shiro 主体(Subject)。
- 在显式注销时移除 Shiro 凭证。
- 支持通过注解或直接使用 Shiro API 进行权限控制。
## 使用步骤
1. **添加依赖**
在 `BuildConfig.groovy` 中添加插件依赖:
```groovy
plugins {
compile ':spring-security-shiro:0.1'
}
```
如果需要特定版本的 `spring-security-core`,可以显式添加:
```groovy
compile ':spring-security-core:1.2.7.3'
```
2. **配置权限**
创建一个简单的 `Permission` 类:
```groovy
package com.mycompany.myapp
class Permission {
User user
String permission
static constraints = {
permission(unique: 'user')
}
}
```
在 `Config.groovy` 中配置权限类:
```groovy
grails.plugins.springsecurity.shiro.permissionDomainClassName = 'com.mycompany.myapp.Permission'
```
3. **使用注解**
支持以下 Shiro 注解:
- `@RequiresAuthentication`
- `@RequiresGuest`
- `@RequiresPermissions`
- `@RequiresRoles`
- `@RequiresUser`
4. **直接使用 Shiro**
通过 `Subject` 方法进行权限检查:
```java
import org.apache.shiro.SecurityUtils
import org.apache.shiro.subject.Subject
Subject subject = SecurityUtils.getSubject()
subject.checkPermission('printer:print:lp7200')
subject.isPermitted('printer:print:lp7200')
subject.checkRole('ROLE_ADMIN')
subject.hasRole('ROLE_ADMIN')
subject.isAuthenticated()
```
## 配置选项
在 `Config.groovy` 中配置以下选项:
- `grails.plugins.springsecurity.shiro.active`:默认 `true`,设为 `false` 可禁用插件。
- `grails.plugins.springsecurity.shiro.permissionDomainClassName`:必须配置,指定权限类的全限定名。
- `grails.plugins.springsecurity.shiro.useCache`:默认 `true`,设为 `false` 可禁用权限缓存,改为每次从数据库加载。
## 总结
该插件通过结合 Spring Security 和 Shiro,提供了灵活的权限管理功能。用户可以通过注解或直接使用 Shiro API 实现权限控制,并支持自定义权限解析器以满足复杂需求。配置简单,适合需要混合使用 Spring Security 和 Shiro 的项目。 | ||
P1
P2
P3
P4
P5
P6
下载文档到本地,方便使用
文档评分













