搜索

pdf文档 Shiro support for the Spring Security plugin - Reference Documentation

17.49 KB 6 页 0 下载 84 浏览 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
下载文档到本地,方便使用
文档评分
请文明评论,理性发言.