当前位置: 首页 > 知识库问答 >
问题:

在运行时为JAAS登录到LDAP动态设置userProvider

楚灿
2023-03-14

我有一个正确设置的J2SE应用程序,可以通过LDAP服务器处理用户身份验证。但是,URL在配置文件中是硬编码的。

例如userProvider="ldaps://host.domain.com:3269/DC=domain, DC=com"

我想通过查询DNS SRV记录来动态查找LDAP服务器。

找到LDAP服务器后,如何在运行时动态设置JAAS userProvider属性,而不在配置文件中指定它?我看到的所有示例都只显示来自配置文件的URL。JavaDocs对这个问题不是很清楚。

共有1个答案

万开畅
2023-03-14

多亏了EJP,我走上了正确的道路。幸运的是,可以在配置文件中插入系统变量。(参考)

因此,我可以在配置文件中执行以下操作:

userProvider="ldaps://${ldap.host}/DC=domain,DC=com"

在Java代码中,我设置了系统属性“ldap.host”:

System.setProperty("ldap.host","host.domain.com:3269");
 类似资料:
  • 尝试按照配置文档使用JAAS向hawtio添加身份验证 通过使用jetty的demo base test jaas war来配置基本jaas/jetty登录,并能够进行身份验证/授权。 通过阅读文档,我试图将同样的概念融入hawtio,但我确信它甚至没有触及ldap,因为当我在演示战中尝试这一点时,我会得到类似的日志 我决定暂时忽略授权,尝试使用ldap进行身份验证。如果有人对我如何进一步调试这个

  • 问题内容: 我们在项目中使用LogBack,我想根据一些数据库值配置logger,即如果某个DB值设置为true,则logger应该同时使用文件和数据库附加程序,如果为false,则logger必须仅使用DB附加程序, 我也想保留使用静态最终记录器,因此不会在每次调用记录器时都创建一个新实例, 那我该怎么做呢? 问候, 问题答案: 您应该按照本示例中的说明以编程方式配置Logback 。

  • 我有两个java webapps,它们运行在同一个jboss服务器上,但是在不同的域中: 主机:端口 1/上下文 1/ 主机:端口 2/上下文 2/ 两个网站的所有内容都通过使用JAAS登录模块进行保护。我现在想在app1中创建一个按钮,以转到app2上的页面。正如预测的那样,我会看到app2的登录屏幕。我可以成功登录。 然而,两个Web应用程序上的用户实际上是相同的。这意味着对app1有效的用户

  • 我有一个使用SpringMVC的Java网络应用程序。该 Web 应用程序在 jboss AS7.1 服务器上运行,该服务器使用带有表单认证的 JAAS 登录模块。当用户在表单上填写其用户名和密码时,登录工作顺利。 我现在想创建一个java控制器,它“将用户登录”,就好像用户填写了日志通知一样。 当上述方法完成时,应允许对任何安全页面的任何访问,因为用户被视为已登录。 可以通过访问Jboss的lo

  • 有人可以使用jaas登录模块吗。我在看医生 我想是这些登录模块可以1.与OS用户进行身份验证2.提供该用户的组。 基本上我想通过操作系统进行身份验证。输入用户名和密码 我想用windows进行身份验证 我不想做LDAP认证只做os认证。 对于windows,有华夫饼干库可用。但我无法在使用64位机器时进行身份验证。在32位上运行良好。 对于linux,有jpam,但它不提供组。它只会检查用户名、密

  • 本文向大家介绍Vue设置长时间未操作登录自动到期返回登录页,包括了Vue设置长时间未操作登录自动到期返回登录页的使用技巧和注意事项,需要的朋友参考一下 Vue设置长时间未操作登录以后自动到期返回登录页 首先我们写在main.js文件中 我们会在登陆成功后调用sessionUtil文件中的setSession,sessionUtil下面写的有 在routerutil.js文件中 在sessionut