Web服务的用户身份验证 - 存储在客户端密码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web服务的用户身份验证 - 存储在客户端密码相关的知识,希望对你有一定的参考价值。
我的工作需要一些基本的身份验证的Web服务的肥皂。
这样的想法是只要求所有的Web服务方法包含用户名和密码参数,然后验证,在我们的用户数据库中存在的这些值:
public String[][] someWebserviceMethod(String username, String password) throws FailedLoginException
// Verify that user with username and password exists
//do database stuff and return data
这确实在客户端提出一个问题。用户首次登录到应用程序后,我们需要在内存中的用户名和密码保存为纯文本。那是可以接受的?如果没有什么是首选的方法?
另外,我的web服务将在HTTPS举行。这是否确保当客户端发送SOAP请求密码安全加密?
编辑:请问一个会话ID的工作?我从来没有实现一个没有框架或Web服务器这样做是为了我。也许是这样的:
- 客户端发送的用户名和密码。
- 如果客户是有效的,服务器返回随机字符串(阶段ID)。
- Server存储会话ID和数据库时间戳
- 客户端存储的SessionID在内存中,不会保存密码
- 客户端请求的Web方法使用用户名和会话ID
- 如果用户名和会话ID的用户存在,超时期限内的时间戳,授权访问和更新时间戳。否则力重新登录。
答案
是HTTPS - S代表安全并加密所有通信。但你总是可以使用一些其他的加密方法,如MD5,SHA-1,更常见的。如果你这样做了一些基本的训练它的确定存储在无任何加密的明文/ JSON数据,否则看看这些哈希函数:
以上是关于Web服务的用户身份验证 - 存储在客户端密码的主要内容,如果未能解决你的问题,请参考以下文章