# grails3-security **Repository Path**: chenmin_study/grails3-security ## Basic Information - **Project Name**: grails3-security - **Description**: Grails3.3.5集成spring security 3.2.1实现基于角色组的权限 - **Primary Language**: Groovy - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2018-12-02 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #Grails3.3.5集成spring security 3.2.1实现基于角色组的权限 >创建项目,build.gradle中加入依赖,通过命令创建,通过此命令会在com.system下自动建表,共7张表 ``` compile 'org.grails.plugins:spring-security-core:3.2.0.M1' ``` ``` s2-quickstart com.system User Role RequestMap --groupClassName=RoleGroup 生成如下7张表 RequestMap Role RoleGroup RoleGroupRole User UserRole UserRoleGroup ``` 权限交给RequestMap表管理,添加一个权限后需要清理缓存,或者禁用缓存 ``` 方法中注入 def springSecurityService //清理了缓存 springSecurityService.clearCachedRequestmaps() ``` 项目用户,角色,权限初始化通过service,在BootStrap.groovy的init方法中调用服务初始化 ``` def requestMapService def init { requestMapService.init() } ``` 若要允许允许通过get方式注销登录,则需在application.groovy中添加 ``` grails.plugin.springsecurity.logout.postOnly = false ``` 页面常用标签 ``` //未登录 登录 //已登录 ... ... ... I'm a user. The requestURL is "/admin/user" ``` 用户名密码有两个`用户1:admin admin` `用户2:test test`,详情查看requestMapService服务类 新增功能说明 1.新增邮箱登录支持,支持邮箱或用户名登录 2.新增登录验证码,验证码是在后端验证的,验证码通过cookie保存,所以访问只能通过127.0.0.1进行访问 效果图 ![输入图片说明](https://gitee.com/uploads/images/2018/0528/132442_2ff1a9eb_493095.png "登录.png")