gpt4 book ai didi

java - 如何使用 Apache Shiro 对 Android 应用程序进行身份验证和授权

转载 作者:行者123 更新时间:2023-11-30 03:16:31 25 4
gpt4 key购买 nike

我开发了一个带有 Rest 完整服务的 Java web 应用程序,我已经集成了 Apache Shiro 用于 session 管理,它在 web 上运行良好。现在我开发了一个 android 应用程序,我能够与其余的完整服务进行通信。当我使用我的 android 应用程序登录时,Apache Shiro 为我提供了一个 session ,但之后对于任何其他完整的 rest 调用,我都让 SecurityUtils.getSubject().isAuthenticated() 返回 false。因为我是新手,所以我不知道如何使用 Apache Shiro 对 Android 应用程序进行身份验证

最佳答案

(我刚刚从另一篇关于该主题的帖子中复制了我的回复)

您可以从您的 REST 服务器发回一个 token ( session ID),登录成功后。然后,您的 iOS/Android 应用程序将需要存储它,并在它发出的每个 REST 请求中发送它。以下是您的登录后 REST 响应示例:

session-start-timestamp: 1394683755389,
session-timeout: 1800000,
session-id: "068C8E0E289788A7ABC5FE47B2CC0D28"

session-id 将由您的 REST 服务器维护,并且每次收到具有此 id 的新请求时都会重置其 TTL。

在浏览器上,这个 id 会自动发送。对于你的情况,你会希望在每个 HTTP 请求中明确发送它(这就是 REST 请求)——因为你没有将这个 token 发送回 Shiro/REST 服务器,Shiro 认为你是一个新的未经身份验证的用户,因此, isAuthenticated 检查失败。

希望对你有帮助

关于java - 如何使用 Apache Shiro 对 Android 应用程序进行身份验证和授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19995399/

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