spring - 在 Spring Security 中仅使用用户名登录
问题描述
我有一个使用spring security的spring web应用程序,我知道正常情况是要求用户提供他们的用户名和密码才能登录,但我希望用户只提供他们的用户名而没有密码才能登录。我想知道 Spring Security 是否有一个可以流畅地执行此操作的规范,或者我是否必须通过在 html 表单中指定一个密码字段并使用密码值填充该字段然后将该字段设为隐藏字段来进行操作。这样用户就不会看到密码字段,因此当他输入他的用户名并单击提交时,系统将提交这两个值并让他登录。也欢迎任何更好的快速修复。我的点子...
<input type="text" name="username" required="required"/>
<input type="hidden" name="password" value="passwordValue"/>
解决方案
当我在寻找时,我没有找到一个漂亮的解决方案,所以,我做了类似你说的事情。就我而言,我这样做了:
@Bean
public PasswordEncoder passwordEncoder() {
return NoOpPasswordEncoder.getInstance();
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(service).passwordEncoder(passwordEncoder());
}
...当我调用 URL 进行身份验证时,我将密码传递为空。
推荐阅读
- javascript - 循环槽数组并对长度求和
- sql - SQL 语句在 where 子句中更改具有相同列的列的值
- android - RecyclerView 不为空
- postgrest - PostgREST 查询的 curl 语法
- node.js - 带数字的票务通道名称
- javascript - 水平滚动div的内容被剪切
- javascript - fetch-API ReadableStream 是否与 promise.then(...) 一起使用?
- regex - 前 3 个字符的正则表达式应该类似于 SRU
- flutter - Flutter 的 OutlineButton 小部件中奇怪的黑色背景
- python - 当我使用 on_click 时如何检测触摸