gpt4 book ai didi

grails - 用户域 “enabled”字段设置为false时,使用Grails Acegi插件。用户仍然可以登录

转载 作者:行者123 更新时间:2023-12-02 14:55:21 24 4
gpt4 key购买 nike

Acegi Grails插件本身支持禁用用户吗?

在文档中,它似乎支持“已启用”字段。
但是,在将“用户的已启用”字段设置为false后,用户仍然可以登录,并且不会引发“用户已禁用”异常(尽管在默认的logincontroller中似乎捕获了用户已禁用的异常)...

如果支持此功能,除了将用户的“启用”字段设置为false之外,是否还需要其他任何更改?

猜测可能不支持此操作,我已向登录 Controller 添加了一项检查,以检查用户登录时是否启用了该用户,并将其发送回带有禁用消息的登录屏幕...

    def index = {
if (isLoggedIn()) {
def dc = authenticateService.principal().domainClass
def user = User.get( dc.id )
if (!user.enabled){
session.invalidate()
flash.message = "User '"+user.username+"' is disabled."
redirect action: auth, params: params
}else{
setLoginDate()
redirect uri: '/home/'
}
}

但是,这仅在我直接访问登录页面时有效。当我在应用程序中输入网址(例如* / user / list)后尝试登录时;用户登录并使用url,而无需在logincontroller中调用我的支票...

最佳答案

尝试改用过滤器。我不确定是否调用了索引关闭,除非您确实点击了该 Controller 的基本URI。

http://www.grails.org/doc/1.3.x/guide/single.html#6.6%20Filters

关于grails - 用户域 “enabled”字段设置为false时,使用Grails Acegi插件。用户仍然可以登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6847520/

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