gpt4 book ai didi

grails - 带有自定义X-Auth-Token header 的cURL请求重定向到登录页面

转载 作者:行者123 更新时间:2023-12-02 16:00:49 25 4
gpt4 key购买 nike

我正在使用Alvaro的greach2014存储库来试验Spring Security Rest插件的行为。我可以登录到该应用程序并生成身份验证 token 。但是,当我尝试发送get请求时,我被重定向到登录页面。这是我的cURL回复

curl -X GET -i -H "X-Auth-Token: Bearer 6mp70e1h702ig5lp5l4j2dlbdbh5aiip" -H "Accept: application/json" http://localhost:8080/restful-grails-springsecurity-greach2014/categories
HTTP/1.1 302 Found
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=7D36AB88B14828CDB7085BBB8722A35F; Path=/restful-grails-springsecurity-greach2014/; HttpOnly
Location: http://localhost:8080/restful-grails-springsecurity-greach2014/login/auth
Content-Length: 0
Date: Tue, 07 Jul 2015 05:59:16 GMT

我也尝试过Bearer标志,但是结果是一样的

curl -X GET -i -H "X-Auth-Token: Bearer 6mp70e1h702ig5lp5l4j2dlbdbh5aiip" -H "Accept: application/json" http://localhost:8080/restful-grails-springsecurity-greach2014/categories

同样,我也尝试过Authorization Bearer header ,但导致超时异常:

```
curl -X GET -i -H“授权:承载6mp70e1h702ig5lp5l4j2dlbdbh5aiip” -H“接受:application / json” http://localhost:8080/restful-grails-springsecurity-greach2014/categories
HTTP / 1.1 500内部服务器错误
伺服器:Apache-Coyote / 1.1
内容类型:text / html; charset = utf-8
内容语言:zh
内容长度:4472
日期:星期二,2015年7月7日05:59:46 GMT
连接方式:关闭

Apache Tomcat / 7.0.52-错误报告HTTP状态500-等待valuetype的超时异常reportmessage等待valuedescription的超时服务器遇到内部错误,阻止其无法满足此请求。net.spy.memcached.OperationTimeoutException:WAITING值的超时
net.spy.memcached.MemcachedClient.getAndTouch(MemcachedClient.java:1179)
net.spy.memcached.MemcachedClient.getAndTouch(MemcachedClient.java:1196)
grails.plugin.springsecurity.rest.token.storage.MemcachedTokenStorageService.findExistingUserDetails(MemcachedTokenStorageService.groovy:64)
grails.plugin.springsecurity.rest.token.storage.MemcachedTokenStorageService.loadUserByToken(MemcachedTokenStorageService.groovy:37)
grails.plugin.springsecurity.rest.RestAuthenticationProvider.authenticate(RestAuthenticationProvider.groovy:55)
grails.plugin.springsecurity.rest.RestTokenValidationFilter.doFilter(RestTokenValidationFilter.groovy:75)
grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.java:53)
grails.plugin.springsecurity.rest.RestAuthenticationFilter.doFilter(RestAuthenticationFilter.groovy:139)
grails.plugin.springsecurity.web.authentication.RequestHolderAuthenticationFilter.doFilter(RequestHolderAuthenticationFilter.java:53)
grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.java:62)
grails.plugin.springsecurity.rest.RestLogoutFilter.doFilter(RestLogoutFilter.groovy:80)
com.brandseye.cors.CorsFilter.doFilter(CorsFilter.java:82)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)
java.lang.Thread.run(Thread.java:745)
根本原因是net.spy.memcached.internal.CheckedOperationTimeoutException:WAITING操作超时-失败的节点:localhost / 127.0.0.1:11211
net.spy.memcached.internal.OperationFuture.get(OperationFuture.java:167)
net.spy.memcached.MemcachedClient.getAndTouch(MemcachedClient.java:1168)
net.spy.memcached.MemcachedClient.getAndTouch(MemcachedClient.java:1196)
grails.plugin.springsecurity.rest.token.storage.MemcachedTokenStorageService.findExistingUserDetails(MemcachedTokenStorageService.groovy:64)
grails.plugin.springsecurity.rest.token.storage.MemcachedTokenStorageService.loadUserByToken(MemcachedTokenStorageService.groovy:37)
grails.plugin.springsecurity.rest.RestAuthenticationProvider.authenticate(RestAuthenticationProvider.groovy:55)
grails.plugin.springsecurity.rest.RestTokenValidationFilter.doFilter(RestTokenValidationFilter.groovy:75)
grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.java:53)
grails.plugin.springsecurity.rest.RestAuthenticationFilter.doFilter(RestAuthenticationFilter.groovy:139)
grails.plugin.springsecurity.web.authentication.RequestHolderAuthenticationFilter.doFilter(RequestHolderAuthenticationFilter.java:53)
grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.java:62)
grails.plugin.springsecurity.rest.RestLogoutFilter.doFilter(RestLogoutFilter.groovy:80)
com.brandseye.cors.CorsFilter.doFilter(CorsFilter.java:82)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)
java.lang.Thread.run(Thread.java:745)
note备注在Apache Tomcat / 7.0.52日志中可以找到根本原因的完整堆栈跟踪。ApacheTomcat / 7.0.52

最佳答案

正确的方法是使用
curl -X GET -i -H "Authorization: Bearer 6mp70e1h702ig5lp5l4j2dlbdbh5aiip" -H "Accept: application/json" http://localhost:8080/restful-grails-springsecurity-greach2014/categories

因为未在本地运行memcached,所以引发了异常。幸运的是,ubuntu的代表中有一个,我只需要使用apt-get install memcached和sudo服务memcached start。一切正常。

关于grails - 带有自定义X-Auth-Token header 的cURL请求重定向到登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31261076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com