【发布时间】:2013-06-17 06:12:45
【问题描述】:
我需要帮助来设计我的网络应用程序。我想做一个需要身份验证的 REST Web 服务,以及一个访问此 Web 服务以获取数据的 Web 应用程序。所有用户都存储在外部数据库中(如 openldap、活动目录或其他)。
_____________ __________________
| | | |
| web app |----->| REST service |
|_____________| |__________________|
_______________
| |
| user db |
|_______________|
问题是:我需要在web app和web service上进行认证,还是web app可以通过web service验证登录?
希望我的问题可以理解
编辑:澄清情况:我的网络服务是独立的,任何类型的应用程序都可以访问它(如网络应用程序、智能手机应用程序、curl 等)。 我认为我的问题也需要澄清。我想知道是否可以在服务中创建所有身份验证逻辑。我想像这样的事情:
- 应用使用 HTTP 基本身份验证查询资源
http://mywebservice.com/login - 如果凭据有效,则响应将类似于
{"loginStatus":true},如果无效,则响应为false。
这是一个可能的解决方案吗?安全吗?
【问题讨论】:
-
REST 服务是否计划为任何可以访问 REST 服务主机的用户都可以访问的独立服务,或者它是某种 Web 应用程序的中间件/后端?
-
是的,服务计划是独立的
-
我想了解的是:是否只能通过 WEB 接口(Web 应用程序)访问其余服务返回的数据,还是任何授权都可以查询通过 rest 服务 api 获取原始数据(例如使用 curl:
curl -H "Accept:application/json" http://mywebapp.example.net/rest/myresource?start=1&end=99999999)。 -
是的,任何类型的应用程序都可以访问它,而不仅仅是网络应用程序
-
首先你应该看看stackoverflow.com/questions/4608225/…。第二件事是您必须考虑如何保存/验证身份验证令牌以及在访问您的网络服务时如何传递它。
标签: web-services rest authentication web-applications architecture