spring-boot - Spring 安全 - 特定用户
问题描述
我正在使用 ldap 对请求进行身份验证。
我通过扩展 WebSecurityConfigurerAdapter 并覆盖 configure(HttpSecurity) 和 configure(AuthenticationManagerBuilder) 方法进行了配置。
凭据将使用 ldap 进行验证,最重要的是,我需要维护一个静态列表,其中包含允许访问的特定用户名。
任何人都可以在用户名验证部分提供帮助 - 我是否需要编写 AuthenticationProvider 的扩展来验证凭据并检查用户名?仅通过配置,我就能够处理凭据验证。
解决方案
我是否需要编写 AuthenticationProvider 的扩展来验证凭据并检查用户名
是的。您需要有两个不同的身份验证提供程序。一个用于验证 LDAP 用户的凭据,另一个用于静态用户列表。
因此,您的配置方法如下所示,
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.authenticationProvider(LDAPProvider);
auth.authenticationProvider(StaticUserProvider);
}
在这里,订单很重要,因为用户的凭据将根据上述提供者订单进行验证。即首先使用LDAPProvider然后使用StaticUserProvider。
推荐阅读
- flutter - 查找小部件或 api
- python-3.x - python程序查找4**4**4**4或4**4**256的值
- postgresql - Docker build 命令正在删除 postgresql 数据库
- python - 在使用 python、tkinter 时出现错误“IndexError: list index out of range”
- javascript - 如何标记空格上的句子拆分,除了将引用的段视为单个标记?
- javascript - 2d 游戏中的相机
- scikit-learn - 决策树分类器中的 ValueError
- assembly - Clang 9/GCC 汇编器中的 x86 远返回助记符?
- javascript - D3 饼图初始渲染问题
- android - 调用方法时视图不可见