繁体   English   中英

Web服务用户身份验证-在客户端上存储密码

[英]Web service user authentication - storing password on client

我正在开发需要一些基本身份验证的Soap Web服务。

因此,我们的想法是仅要求所有webservice方法都包含一个username和password参数,然后验证这些值是否存在于我们的users数据库中:

public String[][] someWebserviceMethod(String username, String password) throws FailedLoginException {

    // Verify that user with username and password exists

    //do database stuff and return data
}

这确实在客户端引起了问题。 用户最初登录到应用程序后,我们需要将用户名和密码以纯文本格式存储在内存中。 可以接受吗? 如果不是,首选方法是什么?

另外,我的网络服务将托管在https上。 这样可以确保在客户端发送Soap请求时对密码进行安全加密吗?

编辑:sessionID可以工作吗? 如果没有框架或Web服务器为我完成任务,我从未实现过。 也许是这样的:

  1. 客户端发送用户名和密码。
  2. 如果客户端有效,则服务器返回随机字符串(sessionId)。
  3. 服务器将sessionID和时间戳存储在数据库中
  4. 客户端将sessionID存储在内存中,不存储密码
  5. 客户端使用用户名和sessionID请求Web方法
  6. 如果存在具有用户名和sessionID的用户,且时间戳在超时时间内,请授予访问权限并更新时间戳。 否则强制重新登录。

HTTPS - S代表安全,它加密所有通信。 但是您始终可以使用其他一些加密方法,例如MD5,SHA-1和更常见的加密方法。 如果您是为了进行一些基础培训而做的,则可以将数据存储为纯文本/ json而无需进行任何加密,否则请查看以下哈希函数:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM