gpt4 book ai didi

ajax - Grails Ajax 登录

转载 作者:行者123 更新时间:2023-12-01 13:00:07 24 4
gpt4 key购买 nike

我想使用 spring security 插件的 ajax 登录功能。

我完全无法从 loginController 向我的 GWT 客户端获取 JSON 成功响应。

正如我从文档中了解到的那样,我需要将我的参数发布到 url/j_spring_security_check 并且 spring security 将我重定向到正确的操作。

如果我查看我的 LoginController,我看不到任何实际的登录逻辑,而且它对我来说有点神奇,因为所有登录/数据库的东西都已完成。进一步的 spring security 总是重定向到 action auth 而不是使用 AjaxAuth,即使我添加标题“X-Requested-With”来发布。如果我在 url/login/ajaxAuth 发帖,我会得到一个 401,这没问题,因为它写在 Controller 中(即使我不知道为什么我们需要在这里返回 401)。也许我做的事情完全错了:-)

我的基本问题是:

  • 在哪里可以找到登录逻辑?
  • 我必须提供什么参数?
  • 我必须使用哪个网址?
  • 如果我不想使用用户名而是使用电子邮件字段,我该怎么办?

感谢您的帮助!

最佳答案

看起来你正确地实现了它,也许有一些小错误,比如打字错误。

顺便说一句:

  1. 它是 implemented at filter ,在实际控制人之前处理您的请求。在您的情况下,它将是 UsernamePasswordAuthenticationFilter(或 RequestHolderAuthenticationFilter)。 Controller 仅用于呈现附加数据。至于 ajax 身份验证,它使用 /login/ajaxSuccess,呈现 JSON 响应

  2. 默认情况下,它使用 j_usernamej_password。您可以使用 ajax=true 参数,而不是 X-Request-With header

  3. /j_spring_security_check 默认

  4. 您可以实现自己的GrailsUserDetailsS​​ervice(或扩展GormUserDetailsS​​ervice),并且setup it as a spring bean ,名称为 userDetailsS​​ervice,位于 resources.xml

您还可以通过以下方式打开 Spring Security 的日志记录:

log4j {
debug 'org.codehaus.groovy.grails.plugins.springsecurity',
'org.springframework.security'
}

也许会有帮助

关于ajax - Grails Ajax 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6807447/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com