首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grails - Security 302响应net::ERR_TOO_MANY_REDIRECTS

Grails - Security 302响应net::ERR_TOO_MANY_REDIRECTS
EN

Stack Overflow用户
提问于 2014-07-25 16:38:44
回答 1查看 1.6K关注 0票数 3

我正在使用玻璃.弹簧.安全.休息插件来保护我的rest。

我无法使用插件通过AJAX成功地调用rest。我正在接收一个302响应,它正在导致一个重定向循环。

代码语言:javascript
复制
$.ajax({
        url: "http://localhost:8084/app/api/controller",
        type: "GET",
        beforeSend: function(xhr){xhr.setRequestHeader('Authorization', 'Bearer <TOKEN>');},
});

我已经测试了未经认证,删除插件,一切都很好。

我能够用curl成功地调用rest:

代码语言:javascript
复制
curl -i -H "Accept: application/json" -H "Authorization:Bearer <TOKEN>" http://localhost:8084/app/api/controller

我有以下配置:

BuildConfig.groovy

代码语言:javascript
复制
compile ':spring-security-core:2.0-RC3'
compile ":spring-security-rest:1.4.0.RC5", {
    excludes: 'spring-security-core'
}

Config.groovy

代码语言:javascript
复制
grails.plugin.springsecurity.rest.login.useJsonCredentials = true
grails.plugin.springsecurity.rest.token.storage.useGorm = true
grails.plugin.springsecurity.rest.token.storage.gorm.tokenDomainClassName = 'com.app.security.AuthenticationToken'
grails.plugin.springsecurity.filterChain.chainMap = [
    '/api/**': 'JOINED_FILTERS,-exceptionTranslationFilter,-authenticationProcessingFilter,-securityContextPersistenceFilter',  // Stateless chain
    '/**': 'JOINED_FILTERS,-restTokenValidationFilter,-restExceptionTranslationFilter'                                          // Traditional chain
]

我已经确保在头文件中发送了正确的身份验证令牌,下面是来自请求的片段:

代码语言:javascript
复制
Request URL:http://localhost:8084/app/api/controller/
Accept:application/json, text/plain, */*
Authorization:Bearer <TOKEN>

寻找我是否做错了我的提交,或如果可能,这是一个错误的插件?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-12 14:48:50

你必须移除“记住我”过滤器。

像这样使用:'/api/**': 'JOINED_FILTERS,-exceptionTranslationFilter,-authenticationProcessingFilter,-securityContextPersistenceFilter,-rememberMeAuthenticationFilter'

这个..。“‘bug”只有在您以前使用过带有常规spring安全性的应用程序时才会发生,因为那时您将有一个cookie,它将劫持整个筛选过程并尝试登录(并重定向您),从而在自定义的rest插件过滤器和原始的spring安全性之间进行重定向冲突。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24960477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档