use*_*753 7 java rest web-services
我正在开发一个需要注销服务的移动应用程序.登录服务是通过从数据库验证完成的,现在我陷入了退出状态.
cas*_*lin 10
您没有提供有关如何在您的应用程序中执行身份验证的许多详细信息,而且很难猜测您在做什么.
但是,需要注意的是,在REST应用程序中,服务器端不能存储会话状态.相反,会话状态必须完全由客户端处理.
但是服务器端的会话有什么问题?它们是有状态的,它们打破了REST 无状态约束(继续阅读更多细节),因此它不是REST.
根据Roy T. Fielding的论文,REST 无状态约束定义如下:
[...]从客户端到服务器的每个请求必须包含理解请求所需的所有信息,并且不能利用服务器上任何存储的上下文.因此,会话状态完全保留在客户端上.[...]
例如,在访问需要身份验证的受保护资源时,每个请求都必须包含要经过适当身份验证/授权的所有必要数据.身份验证数据应属于标准HTTP Authorization标头.来自RFC 7235:
的
Authorization报头字段允许用户代理本身与源服务器进行认证-通常,但不一定,在接收到后401(未授权)响应.其值由包含所请求资源领域的用户代理的认证信息的凭证组成.[...]
REST是无状态的.在会话意义上没有登录或注销.针对需要身份验证的资源的每个请求都必须携带身份验证数据.并且会话状态保留在客户端而不是服务器中.
小智 6
您将需要两个Web服务,一个用于登录,另一个用于注销.在用户离开应用程序时,您需要调用注销服务.
详细说明,您必须在数据库中管理标志,当通过登录Web服务传递正确的用户名和密码时,该标志将为true.在注销服务上你只需要发送用户名并将标志更新为false,这样你也可以防止多次登录,如果你发送IMEI no移动设备登录服务以及用户名和密码
| 归档时间: |
|
| 查看次数: |
1288 次 |
| 最近记录: |