Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用ApacheShiro对Android应用程序进行身份验证和授权_Java_Android_Restful Authentication_Shiro - Fatal编程技术网

Java 如何使用ApacheShiro对Android应用程序进行身份验证和授权

Java 如何使用ApacheShiro对Android应用程序进行身份验证和授权,java,android,restful-authentication,shiro,Java,Android,Restful Authentication,Shiro,我开发了一个带有Rest全服务的Java web应用程序,并集成了会话管理的ApacheShiro,它在web上运行良好。现在我开发了一个android应用程序,我能够与其他完整的服务进行通信。当我使用android应用程序登录时,ApacheShiro为我提供了一个会话,但之后对于任何其他rest完整调用,我都会进行SecurityUtils.getSubject().isAuthenticated()返回false。由于我是新手,我不知道如何使用ApacheShiro对android应用程序

我开发了一个带有Rest全服务的Java web应用程序,并集成了会话管理的ApacheShiro,它在web上运行良好。现在我开发了一个android应用程序,我能够与其他完整的服务进行通信。当我使用android应用程序登录时,ApacheShiro为我提供了一个会话,但之后对于任何其他rest完整调用,我都会进行
SecurityUtils.getSubject().isAuthenticated()
返回false。由于我是新手,我不知道如何使用ApacheShiro对android应用程序进行身份验证(我只是从另一篇关于这个主题的帖子中复制了我的回复)

成功登录后,您可以从REST服务器发回令牌(会话id)。然后,您的iOS/Android应用程序将需要存储此信息,并在发出每个REST请求时发送此信息。以下是登录后REST响应的示例:

session-start-timestamp: 1394683755389,
session-timeout: 1800000,
session-id: "068C8E0E289788A7ABC5FE47B2CC0D28"
会话id将由您的REST服务器维护,每次使用此id的新请求传入时,其TTL都将重置

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

希望这能有所帮助(我刚刚从另一篇关于这个主题的帖子中复制了我的回复)

成功登录后,您可以从REST服务器发回令牌(会话id)。然后,您的iOS/Android应用程序将需要存储此信息,并在发出每个REST请求时发送此信息。以下是登录后REST响应的示例:

session-start-timestamp: 1394683755389,
session-timeout: 1800000,
session-id: "068C8E0E289788A7ABC5FE47B2CC0D28"
会话id将由您的REST服务器维护,每次使用此id的新请求传入时,其TTL都将重置

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

希望这有帮助