当前位置: 首页 > 知识库问答 >
问题:

Grails Spring Security密码尝试失败

杜嘉木
2023-03-14
def authfail = {

def msg = ''

// I can get the username as below
def username = session[UsernamePasswordAuthenticationFilter.SPRING_SECURITY_LAST_USERNAME_KEY]

// There is UsernamePasswordAuthenticationFilter.SPRING_SECURITY_FORM_PASSWORD_KEY but the value is null when access here as below   
def attemptedPassword = session[UsernamePasswordAuthenticationFilter.SPRING_SECURITY_FORM_PASSWORD_KEY]
.
.
.
}

我需要能够知道身份验证失败时输入的密码。

共有1个答案

仇征
2023-03-14

这是可能的,但您必须在提交登录表单之前将密码存储在会话中。将自定义按钮添加到登录表单并隐藏提交按钮:

<form action="/j_spring_security_check">
   ...
   <button onclick="javascript:store()" type="button">Login</button>
   <input class="invisible" id="loginButton" type="submit">
</form>

您需要用JavaScript编写store()函数。下面是一个如何实现的例子:FIDDLE(借用自这里)。显然,在此函数中必须包含表单提交(使用jQuery):$('#loginButton').click()

身份验证失败后,您必须检索存储的密码。

 类似资料:
  • 我有一个文本文件,我已经加密使用移位,但我需要加密加密的文本再次,但这一次使用vigenere密码。然后我需要解密加密的文本(首先是vigenere,然后是Shift),但所有的大小写字母以及黑色空格、引号、逗号和句号都需要保持不变。我已经完成了移位、加密和解密,剩下的就是Vigenere了。下面显示的是我加密Vigenere的类,我还没有写解密,因为我被卡在加密步骤。谢谢你。

  • 使用ApacheDS2.0.0,配置的相关部分如下: 然后在Spring-LDAP 3.2.5/Security中,我使用以下身份验证管理器配置: 我可能误解了“password-compare”的界限,但当我删除该元素时,LDAP似乎保留了“pwdfailuretime”密码失败。使用丢失的“password-compare”元素,这样帐户就不会因为多次密码失败而被锁定。 对我错过的东西有什么想

  • 我想使用gstreamer插件opusdec来解码Opus位流。最终目的是将appsrc和appsink作为输入/输出,对来自RTP数据包负载的20 ms Opus数据包进行解码,并提供PCM样本。 备注:我不能使用gstreamer rtpopusdepay 以下管道工作: gst-launch-1.0 filesrc location=testvector01。一点opus!oggdemux!

  • 如有任何帮助,我们将不胜感激!

  • 我正在使用8.5.0运行时服务器运行我的项目,在部署期间,我发现以下错误 这里是配置。引用密钥存储的xml文件。资源目录中的jks文件

  • 我想做的密码强度角,大写,小写,数字和特殊字符角在控制台中,我得到的错误。 没有密码强度的提供者!在passwordstrength.ts文件中 超文本标记语言 断续器 密码strength.ts