如何在使用Web服务的java中实现登录?

时间:2017-06-15 05:19:35

标签: java web-services tomcat authentication netbeans

我在java中有一个项目,它使用j_security_check和ldap进行身份验证。现在我的雇主希望使用提供的Web服务将其更改为身份验证。他们给我的实际上是一个如下所示的链接 “的 http://11.111.111.111/ADManager/ADlogin.asmx ” 我是java和webservice的全新手。我知道如果我们向web服务提供一些数据,它会给出响应。我怀疑是

  1. 是否可以创建使用其提供的链接的登录信息?
  2. 我应该向他们询问更多信息吗?
  3. 是否可以替换我在java项目中已配置的j_security_check和ldap?
  4. P.S:分配给我这项任务的人似乎也没有多少知识。

1 个答案:

答案 0 :(得分:0)

简短的回答是你可以。

您需要执行以下操作:

每个Web资源都受(servlet)过滤器保护。此过滤器检查每个传入请求并验证需要在http标头上的令牌。如果令牌有效,则提供请求。如果令牌无效,则过滤器将发送回未经授权的HTTP 401。然后重定向到腰部页面。

使用休息服务登录:

1)使用用户名/密码字段创建自定义登录页面。

2)创建一个休息Web服务,接收用户名/密码。它将根据OpenAM等外部访问管理基础架构检查凭据。

3)首先,调用auth(用户名,密码)rest api获取auth令牌。如果给定的凭证没问题,那么只需使用HTTP 200响应代码将auth cookie发送回客户端。

4)然后,您可以调用protected rest apis。您需要每次都发送带有您请求的身份验证cookie。

5)Servlet过滤器(或类似的东西)检查每个传入的请求并验证令牌。如果令牌有效,则请求前进到rest方法,如果不是,则需要生成http 401/403响应。

我建议您不要编写自己的身份验证层,请使用现有的身份验证层,例如OpenAM。

forum topic解释了你的一切。