我有一个使用spring安全性的spring网络应用程序,我知道通常的事情是要求用户提供其用户名和密码来登录,但是我希望用户仅提供其用户名且没有密码来登录。 我想知道spring security是否具有能做到这一点的规范,还是我必须通过在html表单中指定密码字段并用密码值填充该字段,然后将该字段设置为隐藏字段来进行操作。这样用户就不会看到密码字段,因此当他输入用户名并单击提交时,系统将同时提交两个值并登录。 也欢迎任何更好的快速修复方法。 我的主意...
<input type="text" name="username" required="required"/>
<input type="hidden" name="password" value="passwordValue"/>
答案 0 :(得分:2)
当我寻找时,我没有找到漂亮的解决方案,因此,我做了与您所说类似的事情。就我而言,我是这样做的:
@Bean
public PasswordEncoder passwordEncoder() {
return NoOpPasswordEncoder.getInstance();
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(service).passwordEncoder(passwordEncoder());
}
...,当我调用URL进行身份验证时,我将密码传递为空。