问题标签 [spring-security-ldap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
184 浏览

grails - 如果我使用 LDAP 身份验证,为什么必须在我的用户域中存储密码列?

我有一个使用 Spring Security Core 和 Spring Security LDAP 插件的 Grails 应用程序。我使用 LDAP 服务器的身份验证绑定方法作为我唯一的身份验证提供程序。为什么我还必须在我的数据库中存储密码列?我的应用程序完全不需要存储密码值,但如果我从生成的用户域类中删除密码字段,它将不起作用。我真的必须在我的用户表中存储一个值为 null 的密码列吗?当然,必须有不同的方法来解决这个问题。

0 投票
1 回答
4788 浏览

active-directory - LDAPTemplate.ignorePartialResultException 的 Spring Java 配置

长问题的应用程序,但简而言之,我想知道如何org.springframework.ldap.core.LdapTemplate#ignorePartialResultException使用 Spring Java Config 设置标志。

长篇大论的问题是......

我想首先使用我们公司的 Active Directory 进行身份验证(我的意思是用户/密码检查),然后再进行授权(因此他们有权使用哪些角色)。

我采用了spring ldap 指南并进行了更改以连接到我们公司的 Active Directory,而不是使用该指南的 LDIF 文件。我从调试中知道该程序连接到 Active Directory 并正确验证了用户,但是在检索权限时,我得到以下异常:

从谷歌搜索我看到这是一个常见的 LDAP/ActiveDirectory 问题,我需要设置标志以忽略引用。我按照这个 SO question中的示例进行操作。但是,我仍然遇到异常,并且从调试中我可以看到在为用户搜索角色时,以下方法中发生了错误。

供参考我的 WebSecurityConfig 文件:

0 投票
3 回答
3342 浏览

spring - Spring Security LDAP获取用户名

我正在使用带有 Windows AD LDAP 的 Spring security 3.2.4。我能够成功验证并填充 LdapUserDetailsImpl。从 LdapUserDetailsImpl 我可以获取用户名、权限,但如何获取员工姓名(不是登录用户名) LdapUserDetailsImpl 包含以下属性和值

如何获取员工姓名,我是否需要扩展一些类并编写自己的映射,或者可能只是从主体获取 Dn 并拆分字符串以获取员工姓名。

0 投票
0 回答
381 浏览

spring - Spring 安全性、LDAP 和 SSO

我正在尝试构建一个由siteminder SSO 完成登录的应用程序。登录完成后,我需要从 LDAP 获取登录用户的用户信息(如角色、权限)并进入会话。

Aslo 我正在使用 spring MVC 来公开 REST 服务。我希望我的休息服务只能用于某些角色(如经理/管理员等)。UI 还将显示/隐藏基于页面的角色。

我想知道实现上述目标的最佳方法是什么。

请注意我在 WAS7 上使用 spring MVC。

0 投票
2 回答
2301 浏览

spring - spring security LDAP获取附加字段

我正在使用带有 LDAP(活动目录)的 Spring Security,我能够通过扩展 LdapUserDetailsMapper 来验证用户并创建自己的用户详细信息对象。
默认情况下,我得到某些字段和组以及 DN。
但我想获得 Active Directory 中可用的其他字段,例如电子邮件、联系电话。

那么如何获取这些信息呢?

我的配置

自定义用户详细信息映射

0 投票
1 回答
1500 浏览

spring-security - 如何通过 ldap 身份验证和授权将安全性应用于登录流程?

我实现了一个带有 spring webflow 2 和 spring ldap 的登录 servlet,用于用户身份验证。到目前为止一切正常。

现在,我正在尝试在我的登录流程中引入 Spring Security。因此,按照 spring web flow 参考指南 2.4.0 版(第 8 节)和 spring security ldap 部分指南,我调整了我的配置以保护流量。特别是,我试图保护只有 ROLE_USERS 用户的成功登录页面。

我试图从 ldap 数据库中提取用户名、密码和用户角色,并使用这些信息在我的流程中应用安全性。因此,我对我的项目进行了以下更改:

  1. 在loginflow.xml中向displayLoginSuccessView视图状态添加安全​​属性

    /li>
  2. 将 bean SecurityFlowExecutionListener添加到webflow-config.xml

  3. springSecurityFilterChain添加到我的web.xml

  4. 在spring-config.xml中添加 spring 安全配置

  5. 这是我的带有登录方法的java类,LoginService.java

    /li>

输入用户名和密码后,出现以下错误。

我认为 spring-config.xml 中的身份验证提供程序设置与用于身份验证和授权的 java 类不匹配。如何从我的 ldap 中成功检索角色?

0 投票
0 回答
360 浏览

java - JBOSS 上的 ActiveDirectoryLdapAuthenticationProvider

我正在尝试在 JBOSS EAP 6.3 上使用 ActiveDirectoryLdapAuthenticationProvider 实现 Active Directory 身份验证。

如果要进行身份验证的用户 ID 被锁定/过期,我会遇到意外异常。

我的配置如下,它适用于 Tomcat 8。

我深入研究了 ActiveDirectoryLdapAuthenticationProvider 源代码,bindAsUser 方法有以下部分:

但在 JBOSS 中,引发的 NamingException 似乎不是 AuthenticationException 或 OperationNotSupportedException 的实例。它们被包装为根本原因,异常本身是 NamingException。

快速而肮脏的解决方案可能会在 else 部分添加一些额外的行,如下所示:

有人有类似的问题和/或有更好的解决方案吗?

0 投票
1 回答
1013 浏览

spring - 使用 spring-security 的 Active Directory 身份验证

如果用户使用正确的用户名和密码登录,则身份验证工作正常。但是,如果用户输入了错误的密码,我会在 Wildfly 服务器的控制台上获得以下堆栈跟踪信息。我该如何正确处理?我是否配置错误?

我的配置如下

0 投票
1 回答
17699 浏览

spring - Spring-boot LDAP 自定义 UserDetails

我在 spring-boot 应用程序中使用 LDAP 身份验证(基于注释的配置)。我想自定义 UserDetails 对象。默认 UserDetails 实现是LdapUserDetailsImpl。我想扩展这个类并添加一些额外的 iterfaces 并绑定到 spring-security 中。我的配置类:

UserService 是自定义的身份验证方法(它是数据库/jpa 身份验证)。UserDetails 访问器(当 auth 方法是 LDAP 时,它返回 LdapUserDetailsImpl 对象):

谢谢您的帮助。

0 投票
0 回答
238 浏览

grails - Grails + spring-security-core:2.0-RC4 + spring-security-ldap:2.0-RC2

我正在使用 Grails 2.4 + spring-security-core:2.0-RC4。

我想使用 LDAP 进行身份验证,但只允许数据库中并启用登录的用户名。

我已经拥有三个域:用户、角色和用户角色。

我在 BuildConfig.groovy 中添加了 compile ":spring-security-ldap:2.0-RC2" 并按照下面的示例进行操作,但它不起作用:

这是我得到的错误:

错误 | 2015-03-25 18:05:38,542 [http-bio-8090-exec-2] ERROR authentication.RequestHolderAuthenticationFilter - 尝试对用户进行身份验证时发生内部错误。消息:LDAP 处理期间发生未分类的异常;嵌套异常是 javax.naming.NamingException:[LDAP:错误代码 1 - 000004DC:LdapErr:DSID-0C0906E9,注释:为了执行此操作,必须在连接上完成成功绑定。,数据 0,v1db1 –<br > https://chlebik.wordpress.com/2014/10/27/ldap-authentication-and-db-authorisation-with-grails-spring-security/

我该如何解决这个问题?