gpt4 book ai didi

grails - Grails如何使用过滤器进行页面登录检查

转载 作者:行者123 更新时间:2023-12-02 15:26:29 25 4
gpt4 key购买 nike

如何过滤指定页面和 Controller 以进行登录检查?

而且页面是在CMS中配置的,我想如果我要过滤页面,则需要在CMS中重命名页面名称,以便使用通配符进行过滤。

还有其他更好的方法吗?

最佳答案

例如,您的应用程序有两个名为login和customer的 Controller 。
登录 Controller 有两个 Action 。一个用于进入登录页面,另一个用于身份验证操作。

class LoginController {

def index() {
render(view:'/loginPage')
}

def authenticate() {
//check username and password is valid.
if(valid){ // if valid store the user in session for check user logged in or not in filter or anywhere
session.loggedInUser = user
redirect(controller:'dashboard',action:'home')
}
else{
def msg = "Login failed : Invalid Username / Password !"
render(view:'/loginPage',model:[msg:msg])
}
}

仅登录后,我们可以允许访问CustomerController。
为此,首先创建过滤器,然后在过滤器内部复制以下内容。
allExceptLogin(controller:'login', action:'*',invert:true) {
before = {
if(!session.loggedInUser) {
def msg = "You Should Login"
render(view:'/loginPage',model:[msg:msg])
return false
}
}
}

除登录 Controller 外,每个 Controller 的访问都需要在过滤器中检查的有效用户登录。

关于grails - Grails如何使用过滤器进行页面登录检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26707238/

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