2016-06-28 89 views
0

我使用dropwizard编写了一些其他Web服务。然后我用dropwizard-shiro bundle来保护我的资源,这在this问题中已经描述过了。我也使用了Swagger UI来测试我的资源。在swagger UI中一切正常。我编写了一个消费这些服务的PHP Web应用程序。在php应用程序中有一个登录页面,它调用了我的登录服务。登录成功,但在尝试通过php应用程序访问某些其他资源时,会出现“未经授权的访问”错误。为什么我得到这个错误?是否因为创建的会话过期?Dropwizard-Shiro:登录后即使未经授权访问

回答

0

我有同样的问题:在我登录并尝试访问其他jax-rs资源后,isAuthenticated()返回false。在我的场景中,它是一个带有AXIOS的ReactJS客户端来执行请求。

我如何修复它(这是错了前端):我看到了,我没有做的XMLHttpRequest与AXIOS ,因为ChromeConsole我可以看到该Cookie未发送跨源服务器( HTTP标头:集饼干,饼干等)

然后我用$就

xhrFields: { 
    withCredentials: true 
}, 

做到了,一切正常。显然,Shiro将Jsessionid从HTTP-only-cookie中抽取出来。并没有明确的错误信息说明为什么它不起作用。希望我能以某种方式帮助你:-)

相关问题