0
如何筛选指定页面和控制器以进行登录检查?Grails如何使用筛选器进行页面登录检查
而页面是CMS中的配置,我想如果我想过滤页面,我需要重命名CMS中的页面名称以便使用通配符来过滤。
还有其他更好的方法吗?
如何筛选指定页面和控制器以进行登录检查?Grails如何使用筛选器进行页面登录检查
而页面是CMS中的配置,我想如果我想过滤页面,我需要重命名CMS中的页面名称以便使用通配符来过滤。
还有其他更好的方法吗?
例如,您的应用程序有两个名为login和customer的控制器。 登录控制器有两个操作。一个用于输入登录页面和另一个用于验证的操作。
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
}
}
}
除登录控制器外,每个控制器的访问都需要在过滤器中检查的有效用户登录。
哪个插件用于登录检查。 – 2014-11-03 04:43:47
我不使用插件 – 2014-11-03 05:15:54
使用Spring Security Core插件。 http://grails.org/plugin/spring-security-core – saw303 2014-11-03 06:40:45