Grails(16)Secure the REST API-Basic Auth
Here are my configuration in Config.groovy
// Added by the Spring Security Core plugin:
grails.plugins.springsecurity.userLookup.userDomainClassName = 'com.sillycat.project.security.BrandUser'
grails.plugins.springsecurity.userLookup.authorityJoinClassName = 'com.sillycat.project.security.BrandUserSecurityRole'
grails.plugins.springsecurity.authority.className = 'com.sillycat.project.security.SecurityRole'
grails.plugins.springsecurity.userLookup.usernamePropertyName = 'email'
//Enable Basic Auth Filter
grails.plugins.springsecurity.useBasicAuth = true
grails.plugins.springsecurity.basic.realmName = "sillycat"
//Exclude normal controllers from basic auth filter. Just the JSON API is included
grails.plugins.springsecurity.filterChain.chainMap = [
'/location/**': 'JOINED_FILTERS,-exceptionTranslationFilter',
'/**': 'JOINED_FILTERS,-basicAuthenticationFilter,-basicExceptionTranslationFilter'
]
grails.plugins.springsecurity.securityConfigType = "InterceptUrlMap"
grails.plugins.springsecurity.interceptUrlMap = [
'/css/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/common.css': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/favicon.ico': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/images/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/js/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/login/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/logout/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/register/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/error/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
//'/location/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/**': ['IS_AUTHENTICATED_REMEMBERED']
]
Here I have 2 kind of configurations now, 1 is for page secure, the other is basic auth, it is for the api part.
Beside the Controller REST API action, there is a annotation
@Secured(["ROLE_USER"])
My test case will be like this to send the basic auth from the header
@Test
publicvoid testGetSuccessswithServer(){
def client = new RESTClient("http://localhost:8080")
client.auth.basic 'username', 'password'
defresponse = client.get(path: "location/1")
System.out.println(response.status)
System.out.println(response.data)
}
Or I can use POSTMAN to verify my API. There is a tab menu named Basic Auth, just put the user name and password.
The basic authority can work alone, but they can not work together.
References:
http://grails-plugins.github.com/grails-spring-security-core/docs/manual/
http://dead-knight.iteye.com/blog/1520080
分享到:
相关推荐
Grails入门指南书籍和源码----下载不扣分,回帖加1分,欢迎下载,童叟无欺 getting started with grails chinese Grails入门指南书籍和源码----下载不扣分,回帖加1分,欢迎下载,童叟无欺 getting started with ...
Grails1.1中文文档-----2009.3.25
此外,还提到了一些测试相关的依赖,比如org.grails:grails-plugin-testing、org.grails.plugins:geb等,这些依赖提供了单元测试、集成测试和功能测试的能力。 总体来看,这段教程所包含的知识点涵盖了Grails框架在...
Grails这个独特的框架被视为是提升工程师生产效率的动态工具,因为其干脆的API设计,合理的默认值以及约定架构。与java的无缝集成使得这个框架成为世界上众多框架中的首选。一系列强大的特性,如基于sping的依赖注入...
总之,"grails-datastore-gorm-plugin-support-2.0.4.RELEASE.zip"提供了一个宝贵的资源,让开发者有机会学习和实践Grails的ORM功能和Android的MVC设计模式。无论是对Grails框架的探索,还是对Android开发的深化,这...
总结,"Grails-开源框架---使用指南.pdf"和"Groovy入门经典(中文).pdf"这两本书将帮助读者深入理解Grails框架和Groovy语言,从而更好地开发基于JVM的现代Web应用程序。通过学习这两本书,开发者可以掌握如何利用...
标题中的"grails-fck-editor-0.3.zip_grails_grails-fck-editor"表明这是一个与Grails框架相关的插件,具体来说是FCKeditor的一个版本。FCKeditor是一款广泛使用的开源富文本编辑器,它允许用户在网页上创建和编辑...
在本例中,我们看到项目版本为"0.1",组名设置为"demo",并应用了一系列插件,如"Eclipse"、"Idea"、"War"、"Grails-web"和"Grails-GSP"。这些插件分别用于IDE支持、构建WAR包、Web相关功能和服务器端页面(GSP)...
compile 'org.grails:grails-datastore-rest-client' 基本用法 有关API样式的文档,请参阅 主要入口是类。 构造和使用REST“动词”之一。 GET请求: def resp = rest.get(...
【标题】:Grails-SB-Admin2-Template:基于Grails的SB-Admin2配置化模板 【描述】:Grails-SB-Admin2-Template是一个针对Grails框架的插件,它允许开发者轻松地在他们的Grails应用中集成并配置流行的SB-Admin2后台...
这个名为"grails-web-url-mappings-2.5.4.zip"的压缩包包含了Grails 2.5.4版本中的Web URL映射相关代码,让我们深入探讨这一关键组件。 Grails是一个基于Groovy语言的全栈式Java web框架,其设计理念是“简洁、生产...
groovy-grails-tool-suite-3.6.4.RELEASE-e4.4.2-win32-x86_64.part1 共两个压缩包,解压后将扩展名.zip.bak改为.zip再次解压。
restapidoc 示例 RestApiDoc 插件的示例应用程序 ( ) 如果您想与本地 RestApiDoc 插件(github 克隆)一起使用,请编辑您的 BuildConfig。 添加: grails.plugin.location.... 编译“:rest-api-doc:0.5”
本文将深入探讨Grails的中文文档以及“grails-fckeditor-0.9.5”插件的相关知识点。 一、Grails框架基础 1. Groovy语言:Grails的基础是Groovy,这是一种面向对象、动态类型的编程语言,语法简洁且与Java高度兼容...
标题 "grails-datastore-gorm-tck-1.0.9.RELEASE.zip" 提供的信息表明,这是一个与Grails框架相关的数据存储(Datastore)和GORM(Grails Object Relational Mapping)测试兼容性工具包(Test Compatibility Kit,...
对于中文开发者来说,Grails的中文API文档是学习和使用框架的关键资源。它详细介绍了Grails框架的所有类、方法和属性,以及它们的用途和用法。通过中文API,开发者可以更轻松地理解框架的工作原理,查找和解决问题,...
grails参考文档 The Grails Framework - Reference Documentation Authors: Graeme Rocher, Marc Palmer Version: 1.0.3
打开Grails命令行并运行create-app grails3-spring-security-demo --profile=web 更新了grails-app/conf/logback.groovy并添加了以下内容: // added so that we get more of the Spring Boot startup logger( ' ...
6. **配置文件**:如`grails-app/conf/application.yml`,包含应用的配置信息,如数据库连接、安全设置等。 7. **测试**:项目可能包含单元测试和集成测试,用于验证API的行为和功能。 8. **构建脚本**:如`build....