单一登录使用SpringBoot和LDAP服务器

时间:2018-03-08 17:49:38

标签: spring spring-boot ldap

我必须在我的网络应用程序中设计单点登录。要求是为用户提供无缝登录体验。在我的公司用户登录系统时,它们无缝连接到应用程序,如内部应用程序,聊天信使,Outlook。同样,我必须为用户实现单点登录。当用户访问应用程序时,它不应要求用户登录并验证用户AD组信息并对其进行身份验证。假设如果很少有用户被分配到特定的AD组,那么他们只能访问该应用程序。其他AD组将无法访问该应用程序,当他们尝试访问应用程序链接时,应显示错误页面。

例如:用户属于AD群组' ABC' - 将有权访问申请书     用户属于AD组' XYZ' - 在网页上显示错误消息

我的问题是

  1. 如何检测已登录系统的用户?如果我检测到用户,我需要连接到LDAP以验证用户的有效AD组?
  2. AD组信息位于公司的LDAP服务器中。我可以从LDAP获得所有细节吗?
  3. 我正在使用SpringBoot应用程序和Tomcat Linux服务器进行部署
  4. 请帮助/建议如何设计和实施此内容?

1 个答案:

答案 0 :(得分:0)

执行此操作的众多方法之一是使用JWT。 (参考https://jwt.io/

身份验证后,您可以通过身份验证成功发出JWT。此JWT可以包含多个内容,例如用户名/其他用户信息,用户角色/权限,例如在您的情况下,它包含它有权访问的AD组列表。

现在你所要做的就是,发送这个JWT以及每个请求并放置一个过滤器(可能通过Spring安全性)来允许/禁止用户验证JWT。

对于最后一部分,大多数配置是由Spring安全提供的,所以没有多少你必须自己实现。