基于REST的Web应用程序架构的身份验证

时间:2013-06-20 11:44:18

标签: web-services rest authentication web-applications architecture

我需要帮助设计我的网络应用程序。我想做一个需要身份验证的REST Web服务,以及一个访问此Web服务以获取数据的Web应用程序。所有用户都存放在外部数据库中(如openldap,活动目录或其他)。

 _____________        __________________
|             |      |                  |
|   web app   |----->|   REST service   |
|_____________|      |__________________|

                      _______________
                     |               |
                     |    user db    |
                     |_______________|

问题是:我是否需要在Web应用程序和Web服务上进行身份验证,或者Web应用程序是否可以通过Web服务验证登录?

希望我的问题足够可以理解

编辑:以澄清情况:我的网络服务是独立的,任何类型的应用程序都可以访问它(如网络应用,智能手机应用,卷曲等......)。 我认为我的问题也需要澄清。我想知道是否可以在服务中创建所有身份验证逻辑。我想象这样的事情:

  1. 应用程序使用HTTP基本身份验证
  2. 查询资源http://mywebservice.com/login
  3. 如果凭据有效,则响应将类似于{"loginStatus":true}false,如果它们无效。
  4. 这是一个可能的解决方案吗?它安全吗?

1 个答案:

答案 0 :(得分:0)

首先......“我是否需要在Web应用程序和Web服务上进行身份验证,或者Web应用程序是否可以通过Web服务验证登录?” ......两者都有可能......取决于你的选择和实施。但是为了使流程在所有情况下均匀使用DB,来自Web应用程序的调用应该转到Web服务,如图所示。我认为在登录时,客户端应该调用Web应用服务器,Web应用程序调用Web服务以查看数据库以检查凭据。

可以有很多种方式......有时Web应用程序会大量使用AJAX,而客户端本身会直接调用REST服务来获取数据或检查凭据。