问题标签 [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 投票
0 回答
1278 浏览

grails - 成功登录后,Grails Spring Security 未重定向到保存的请求

我有一个Grails 2.2.5应用程序,它使用Grails Spring Security 1.2.7.3Spring Security LDAP 1.0.6Spring Security CAS 1.0.5插件进行身份验证/授权。登录、角色、单点登录都可以正常工作。但由于某种原因,应用在通过 CAS 登录后不会重定向到请求的 URL。我没有将配置设置为始终使用默认目标。

我打开了日志记录,它报告它正在保存请求:

这实际上是正确的 URL。但是,登录后,日志记录会报告以下内容:

和...

然后应用程序继续重定向到/index.gsp,这是不正确的(它应该转到/bookstoreAdmin.

以下是我的配置设置,然后是完整的日志记录:

弹簧安全配置:

记录:

0 投票
1 回答
2564 浏览

spring - 向 Spring Security 注销添加参数

我可以向 Spring Security Logout 添加参数吗?我在 security.xml 中配置了注销请求,如下所示。

<sec:logout invalidate-session="true" logout-success-url="/logoutsuccess.do" logout-url="/logout.do" />

登录时,成功登录后,我正在自定义成功处理程序上验证用户帐户的各个方面,以验证帐户订阅状态、批准/拒绝等,如果任何条件失败,将基于它发送注销请求。我想在注销页面上显示自定义错误消息,因此想将该参数与注销请求一起发送。

0 投票
1 回答
3543 浏览

spring - 将@Component 添加到自定义 Spring Security 过滤器的含义是什么

我有一个扩展 GenericFilterBean 的自定义 Spring Security 过滤器。

为了进行自动依赖和 bean 创建,我添加了一个 @Component 注释。

在我的安全配置中,我还注册了过滤器,例如:

除了我的过滤器被调用两次之外,一切都运行良好......似乎 Spring 也会自动将过滤器添加到标准过滤器中。

这里最好的方法应该是什么?

更新

@Dave 这就是你的意思吗?它似乎工作。

0 投票
1 回答
238 浏览

grails - 没有管理器的 Grails Spring Security Ldap

如何在没有管理员用户/通行证的情况下使用用户凭据绑定到域。

我知道这在 Spring Security LDAP 中是可能的,但是如何使用 Grails 来做到这一点?

以下是在 java 中的操作方法:http: //turgaykivrak.wordpress.com/2009/03/26/spring-security-authenticate-user-on-ldap-without-manageradmin-user/

0 投票
0 回答
781 浏览

spring - 使用多个非镜像 LDAP 服务器配置弹簧安全以在连接异常后继续

我使用带有 Spring Boot 的 Spring Security 进行了成功的配置,它将检查四个不同的 LDAP 提供程序以获取传递给它的用户凭据。如果用户不在第一台服务器中,则检查第二台服务器,依此类推。如果所有提供程序都可用,这将非常有效。但是,如果其中一个提供程序关闭,则身份验证链停止并且 spring 返回一个未经授权的异常。

身份验证适用于基于 REST 的服务,因此使用故障处理程序重定向到不同的 URL 似乎对这种情况没有帮助。

我知道上下文源上的 urls 属性,但据我所知,它仅用于故障转移到与主 LDAP 服务器具有相同配置的镜像 LDAP 服务器。在此配置中并非如此,每个 LDAP 服务器都有自己独立且不同的配置。

我检查了多个 StackOverflow 问题以及 Spring 文档和存档论坛。我看到的所有问题和配置要么是针对镜像故障转移配置,要么与我的配置基本相同。

我当前的配置和 AuthenticationManager 设置是通过 Groovy 类配置的,如下所示:

我可以将其拆分为多个 war/jar 文件,因为 Spring Boot 是轻量级的,但该解决方案被服务器管理器拒绝。我是否必须考虑实现自定义身份验证提供程序并尝试包装尝试序列?

如果第一个无法连接,是否有任何方法可以配置 Spring Security 以继续尝试后续的 AuthenticationProviders?我认为这应该是可能的,否则能够指定多种类型的提供者的效用是有限的。谢谢!

更新:我已经做了一些工作来在本地复制它,但我无法让它像我认为的那样工作。即使将 Spring Security 日志记录设置为 DEBUG,我也无法收到日志消息。我能够在返回给我的 JSON 响应中获得一些额外的信息。下面的消息中故意更改了主机名。

因此,似乎正在发生的是 Spring Security LDAP 提供程序正在包装通信异常,而不是记录它,并自动将其转换为未经授权的异常。这不是我预期的行为,特别是因为我在配置中指定了多个提供程序。

更新 2:我知道上面说的是未知主机异常。我故意为第一台服务器输入了不正确的主机名,以获得通信类型的异常。当网络在测试期间暂时无法访问服务器时,也会发生相同类型的事情。

0 投票
2 回答
13967 浏览

java - Spring Security LDAP 和记住我

我正在使用与 LDAP 集成的 Spring Boot 构建应用程序。我能够成功连接到 LDAP 服务器并验证用户。现在我需要添加记住我的功能。我试图浏览不同的帖子(this)但无法找到我的问题的答案。Spring Security 官方文档指出

如果您使用的身份验证提供程序不使用 UserDetailsS​​ervice(例如,LDAP 提供程序),那么除非您的应用程序上下文中还有一个 UserDetailsS​​ervice bean,否则它将无法工作

这是我的工作代码,其中包含一些添加记住我功能的初步想法:

网络安全配置

CustomUserDetailsS​​erviceImpl

我知道我需要以某种方式实现 UserService,但不确定如何实现。

0 投票
1 回答
459 浏览

spring - 等效定义在预命名空间 Spring 2.x 中

我有一个使用的 Spring 3 应用程序:

什么是名称空间等价于 spring 2。

是因为我使用 Spring 3 使用我的 LDAP 应用程序登录并希望在 Spring 2 中实现相同的方法

代码 spring-secutiy-ldap.xml

例外 :

0 投票
1 回答
5288 浏览

spring-security - 如何使用 Spring LDAP 和 Spring security 更改密码

我正在使用 Spring LDAP 和 Spring security 的最新版本。另外,我正在使用基于注释的配置,并且我没有 XML 配置文件。

我想要实现的是非常基本的,我希望能够允许用户从我的 Web 应用程序更改他们的密码。

我发现我可以通过 DirContext.modifyAttributes 执行该请求。这个方法需要两个属性,第一个是当前的userDn,不知道怎么轻松通过Spring。我很确定有一个功能可以得到它。

然后使用密码属性作为第二个参数的修改项。现在,我如何知道需要应用于用户提供的密码的密码编码?

我从来没有使用过 Spring LDAP / Security,一个小而简单的例子会很棒。现在,我正在针对内存中的 ldap 进行测试,但我必须在本周末切换到真正的 LDAP。

谢谢!

0 投票
1 回答
1252 浏览

spring-security - 在 Grails 中使用 Spring Security LDAP 查询 LDAP 用户?

我想获取 LDAP 目录的特定组中所有用户的列表,而且我正在使用 Spring Security LDAP;我找不到任何可以解决我的问题的东西。
我已经有了 Spring Security LDAP,我可以得到context等等principal
我还阅读了我的 Spring Security LDAP 插件功能,但没有找到所有用户的列表。

我应该怎么办?我必须进行查询吗?如果是,如何?

0 投票
1 回答
593 浏览

java - Spring Security:访问被拒绝异常

我正在尝试LDAP使用 OpenLDAP 服务器配置 Spring Security,我正在将其配置为LoginController在用户打开应用程序时重定向到我自己的服务器。但是,每次我尝试连接到应用程序时,它都会抛出 AccessDeniedException,它永远不会进入我的LoginController

这是我的配置:

这是我的LoginController