使用Grails Acegi插件时,用户域;已启用";字段设置为false。用户仍然可以登录
Acegi Grails插件是否支持本机禁用用户 从文档中可以看出,它似乎支持“已启用”字段。。 但是在将用户“enabled”字段设置为false之后,用户仍然可以登录,并且不会引发任何“user is disabled”异常(尽管在默认的logincontroller中似乎有一个捕获用户禁用异常的捕获) 如果支持此功能,除了将用户“已启用”字段设置为false之外,是否还需要其他更改 猜测这可能不受支持,我在登录控制器中添加了一个检查,以检查用户登录时是否已启用,并将其发送回登录屏幕,同时显示一条已禁用的消息使用Grails Acegi插件时,用户域;已启用";字段设置为false。用户仍然可以登录,grails,groovy,grails-plugin,spring-security,Grails,Groovy,Grails Plugin,Spring Security,Acegi Grails插件是否支持本机禁用用户 从文档中可以看出,它似乎支持“已启用”字段。。 但是在将用户“enabled”字段设置为false之后,用户仍然可以登录,并且不会引发任何“user is disabled”异常(尽管在默认的logincontroller中似乎有一个捕获用户禁用异常的捕获) 如果支持此功能,除了将用户“已启用”字段设置为false之外,是否还需要其他更改 猜测这可能不受支持,我在登录控制器中添加了一个检查,以检查用户登录时是否已启用,并将其发送回登录屏幕,同时显
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/'
}
}
但是,这只有在我直接访问登录页面时才起作用。在应用程序中输入url(例如*/user/list)后尝试登录时;用户登录并获取url,而无需在logincontroller中调用我的检查 尝试改用过滤器。我不确定是否调用了索引闭包,除非您确实找到了该控制器的基本URI
user.enabled==0
永远不会为真-它是一个布尔值,因此如果(!user.enabled){