Security 如何使用Drupal保护Java REST服务?
我正在创建一个使用Drupal7内容管理系统的web应用程序。web页面大量使用JQuery和AJAX AJAX调用命中了REST服务,这些服务实际上是使用JAVA实现的。Apache正在运行Drupal7,并配置为通过JavaEE服务器(JBossAS7)传递对RESTURL的任何调用。一切都通过SSL 我需要授权和验证对REST服务的调用,并访问当前从Java应用程序登录到Drupal的用户的用户名或ID。问题是。。。怎么 由于AJAX调用是对同一个Apache服务器(而不是单独的服务器等)进行的,所以所有事情都发生在同一个http会话中,所以我希望这将非常容易 我想到的事情:Security 如何使用Drupal保护Java REST服务?,security,drupal,authentication,rest,jakarta-ee,Security,Drupal,Authentication,Rest,Jakarta Ee,我正在创建一个使用Drupal7内容管理系统的web应用程序。web页面大量使用JQuery和AJAX AJAX调用命中了REST服务,这些服务实际上是使用JAVA实现的。Apache正在运行Drupal7,并配置为通过JavaEE服务器(JBossAS7)传递对RESTURL的任何调用。一切都通过SSL 我需要授权和验证对REST服务的调用,并访问当前从Java应用程序登录到Drupal的用户的用户名或ID。问题是。。。怎么 由于AJAX调用是对同一个Apache服务器(而不是单独的服务器等)
- 配置一个java安全拦截器,该拦截器在本地调用一个自定义 仅可访问)drupal服务,以某种方式读取会话id和 返回登录的用户名
- 创建一个“dumb”drupal REST服务作为我所有REST调用的网关,该服务在传递到Java后端服务之前授权/认证然后注入用户名
- 在上的文章让我想知道,如果调用一个Drupal服务(就在每个Java服务会话的开始)并获取一个Drupal sessionID并返回当前用户及其角色,我是否可以侥幸逃脱。我可以在我的Java服务中配置它,这样它就可以每隔x秒或y次调用重新生成此调用,以检查角色更改或注销
谢谢-这让我很难堪 看看你在做什么,尽量让事情变得简单,我会选择第一种选择的变体。这基本上就是当前模块所做的,尽管它使用唯一的授权令牌。工作流程如下所示:
听起来基本上是将java应用程序替换为node.js。这应该是可行的,其优点是,如果将来将其拆分为多个服务器,它可以很好地扩展。看看您正在做的事情,并试图让事情尽可能简单,我会选择第一个选项的变体。这基本上就是当前模块所做的,尽管它使用唯一的授权令牌。工作流程如下所示:
听起来基本上是将java应用程序替换为node.js。这应该是可行的,其优点是,如果将来将其拆分为多个服务器,它可以很好地扩展。这是有道理的。是否可以使用存储在标头或cookie中的会话变量作为唯一令牌,以消除对额外令牌的需要?这是有道理的。是否可以使用存储在标头或cookie中的会话变量作为唯一令牌,以消除对额外令牌的需要?