Grails3使用SpringSecurity的简单教程
2017-11-07 10:25
441 查看
首先新建项目,这里采用的是idea中Application Forge方式创建grails应用
接下来在build.gradle中添加security plugin插件,添加完成后点Import Changes,等待下载完成
代码如下
插件其实已经自带了建立demo的指令,我们只需要输入相应指令,稍作修改就行了
按Ctrl+Alt+G打开Grails指令窗,输入
接下来创建Controller,指令
最后一步,在init/BootStrap中添加测试用户
接下来尝试运行
输入我们刚刚设置的默认用户名(me)和密码(password),这时候你会发现提示没有权限
这是因为在默认配置下,所有的url访问都是被拒绝的,因此我们需要做相应的修改
给刚刚生成的控制器加上注释,这边注释的意思就是ROLE_ADMIN权限的用户才可以访问index页面
package com.mycompany.myapp
import org.springframework.security.access.annotation.Secured
class SecureController {
@Secured('ROLE_ADMIN')
def index() {
render 'Secure access only'
}
}
修改完成后需要重启服务器,当你再次输入用户名和密码后,就会成功显示render的字段了
通过这个demo,可以了解到security的基本使用方式,然后根据自身需求进行相应的改进
接下来在build.gradle中添加security plugin插件,添加完成后点Import Changes,等待下载完成
代码如下
compile 'org.grails.plugins:spring-security-core:3.2.0'
插件其实已经自带了建立demo的指令,我们只需要输入相应指令,稍作修改就行了
按Ctrl+Alt+G打开Grails指令窗,输入
s2-quickstart com.mycompany.myapp User Role然后就能看到插件已经自动创建好了domain类和application.groovy(用来设置匹配url的)
接下来创建Controller,指令
create-controller com.mycompany.myapp.Secure
最后一步,在init/BootStrap中添加测试用户
package grailssecurityplugindemo import com.mycompany.myapp.Role import com.mycompany.myapp.User import com.mycompany.myapp.UserRole class BootStrap { def init = { servletContext -> def adminRole = new Role(authority: 'ROLE_ADMIN').save() def testUser = new User(username: 'me', password: 'password').save() UserRole.create testUser, adminRole UserRole.withSession { it.flush() it.clear() } assert User.count() == 1 assert Role.count() == 1 assert UserRole.count() == 1 } def destroy = { } }
接下来尝试运行
输入我们刚刚设置的默认用户名(me)和密码(password),这时候你会发现提示没有权限
这是因为在默认配置下,所有的url访问都是被拒绝的,因此我们需要做相应的修改
给刚刚生成的控制器加上注释,这边注释的意思就是ROLE_ADMIN权限的用户才可以访问index页面
package com.mycompany.myapp
import org.springframework.security.access.annotation.Secured
class SecureController {
@Secured('ROLE_ADMIN')
def index() {
render 'Secure access only'
}
}
修改完成后需要重启服务器,当你再次输入用户名和密码后,就会成功显示render的字段了
通过这个demo,可以了解到security的基本使用方式,然后根据自身需求进行相应的改进
相关文章推荐
- Struts中使用displaytag简单小教程
- NBear.Mapping使用教程(3):第一个简单例子
- 最简单的JavaDB(Derby)嵌入式使用教程
- 转贴: 非常简单的ant使用教程
- [ant]非常简单的ant使用教程
- PHP面向对象的使用教程 简单数据库连接
- Solr 1.3 简单使用教程
- Ant的入门级教程(1)?ANT 蚂蚁是什么?带有简单使用。
- svn使用简单教程
- svn使用简单教程
- Gravatar 全球通用头像简单介绍与使用教程
- WIFI机型的wifi使用简单图文教程
- EXT 表单设计器(guibuilder)简单使用教程
- Win32汇编教程三 一个简单的对话框 --- 兼谈资源文件的使用
- PHP面向对象的使用教程 简单数据库连接
- svn简单配置及使用教程!
- [ant]非常简单的ant使用教程
- Win32汇编教程三 一个简单的对话框 --- 兼谈资源文件的使用
- 简单介绍一下asp.net中DataGrid的使用(视频教程)
- Struts中使用displaytag简单小教程