有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java DropwizardShiro:即使在登录后也未经授权访问

我使用dropwizard编写了一些RESTWeb服务。然后,我使用dropwizard-shiro bundle来保护我的资源,我在this问题中描述了这一点。我还使用了swagger UI来测试我的资源。在大摇大摆的用户界面中,一切都很好。我编写了一个使用这些服务的php web应用程序。php应用程序中有一个登录页面,它调用我的登录服务。登录成功,但当尝试通过php应用程序访问其他资源时,会出现未经授权的访问错误。为什么我会犯这个错误?是因为创建的会话即将过期吗


共 (1) 个答案

  1. # 1 楼答案

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

    我是如何修复的(前端出错): 我看到我没有使用AXIOS执行xmlhttprequest,因为在ChromeConole上,我可以看到cookie没有跨源发送到服务器(HTTP头:set cookie、cookie等等)

    然后我用美元做了。阿贾克斯

    xhrFields: {
      withCredentials: true
    },
    

    一切都很好。Shiro显然从仅HTTP的cookie中提取Jsessionid。而且没有明确的错误信息说明它为什么不起作用。希望我能在某些方面帮助你:-)