grails - 使用Grails和Acegi插件捕获登录/注销和登录尝试

标签 grails spring-security

我已经使用grails过滤器和 session 侦听器部分实现了一个解决方案,该解决方案需要我修改web.xml。 session 侦听器会告诉我 session 何时结束,而grails过滤器会告诉我何时首次通过身份验证的用户调用任何 Controller 。

在我看来,这两者都是必需的,因为grails或acegi插件会自动创建一个新 session ,因此我需要grails过滤器来确定该 session 何时实际具有经过身份验证的用户。

我说的都是这些,有没有一种不需要过滤器和sessionListener的更简单方法。只是希望清理代码,所以当我以后需要重新使用它时,它仍然有意义

最佳答案

登录时会触发事件,因此,这是跟踪登录的最佳选择-如果用户在登录前在网站上浏览了一段时间,则 session 创建通常早于登录。请参阅此页面,甚至讨论处理程序:http://grails.org/AcegiSecurity+Plugin+-+Acegi+Events

注销非常棘手,因为用户可能会明确单击注销链接,或者可能只是关闭浏览器。如果他们关闭浏览器,他们的 session 将超时,但这将是最后一次单击后30分钟(除非您更改了默认值)。

如果要挂接显式注销,请按照“注销处理程序”部分中http://grails.org/AcegiSecurity+Plugin+-+Customizing+with+SecurityConfig所述注册LogoutHandler。

关于grails - 使用Grails和Acegi插件捕获登录/注销和登录尝试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2231964/

相关文章:

grails - GORM 基本无法理解的问题

grails - 用 grails 开发 web 应用程序 - 不知道它是如何工作的

grails - 不会生成创建/读取/更新和删除 View

web-services - Spring Security 与 REST Web 服务 - 使用 Curl 测试时无法通过 header 进行身份验证

java - Linux 命令行 SHA-256 哈希与在线工具不同?

grails - Grails:从gsp调用Domain方法

grails - Grails 3.2.8部署:应用程序启动时o.h.engine.jdbc.spi.SqlExceptionHelper

grails - Grails&Spring Security-基于附加属性专门处理用户角色

java - Spring安全授权

java spring BCryptPasswordEncoder "SecureRandom random"构造函数参数