【发布时间】:2015-06-01 14:37:07
【问题描述】:
我创建了REST webservice 并使用HTTP Basic authentication 保护它。
它工作正常,并要求username/password。
但是在第二次运行时(如果浏览器仍然打开),网络服务不会要求username/password。如果我关闭并重新打开浏览器,它会按我的意愿工作 - 要求进行身份验证。
我希望网络服务在每次运行时都询问用户名/密码(无论其他网页是否打开)。
知道我该怎么做吗?
【问题讨论】:
-
也许您的浏览器没有缓存凭据?
-
这可能没什么好担心的。使用 HTTP Basic,您的 Web 服务的客户端必须使用用户名和密码对每个请求进行身份验证。尝试使用 Postman 等 REST 客户端(而不是浏览器)测试您的服务,以查看其行为方式。正如 Blackus 所说,您的浏览器可能只是在缓存凭据,但这并不意味着它们不会每次都被发送。
-
您可以编写单元测试用例来确保相同..
-
如果您从基本身份验证转移到某些自定义策略,浏览器将无法通过自动填充凭据来“帮助”用户。也许在表单字段或自定义标题中传递 uname/pwd?
标签: java web-services rest security