我在java中有一个项目,它使用j_security_check和ldap进行身份验证。现在我的雇主希望使用提供的Web服务将其更改为身份验证。他们给我的实际上是一个如下所示的链接 “的 http://11.111.111.111/ADManager/ADlogin.asmx ” 我是java和webservice的全新手。我知道如果我们向web服务提供一些数据,它会给出响应。我怀疑是
P.S:分配给我这项任务的人似乎也没有多少知识。
答案 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解释了你的一切。