我是grails的新手,有人能帮我找到下面提到的问题的解决方案吗?
我的application..now中有两个控制器,我想要有一个登录页面。
我已经在我的第三个控制器中创建了login.gsp,即使登录操作也在同一个控制器中。
我在其他控制器中有index.gsp,这是我的应用程序的欢迎页面。
grails默认情况下调用index.gsp,但我想要grails
我如何才能做到这一点?
等待回复..
带着很多先期的感谢
Nandita
发布于 2011-05-06 18:51:06
未经请求的建议
如果你想给你的应用程序添加身份验证/授权,我强烈建议你使用现有的插件之一(例如,nimble,spring security),而不是自己编写。
回答你的问题
要更改应用程序的起始页,只需在UrlMappings.groovy中编辑以下规则
"/"(view:"/index")例如,要使/login.gsp成为起始页,请将其更改为:
"/"(view:"/login")或者,要使其在应用程序启动时调用LoginController的index操作,请将其更改为:
"/"(controller: 'login', action: 'index')发布于 2011-05-06 18:50:30
您需要查找spring security plugin
发布于 2011-05-11 16:48:58
如果你不想使用像spring security plugin这样的认证插件,我建议使用一个过滤器,它会检查用户是否已经登录,如果没有登录,就会重定向到登录页面。
示例代码:
class SecurityFilters {
def filters = {
loginCheck(controller:'*', action:'*') {
before = {
if(!session.user && !actionName.equals('login')) {
redirect(action:'login')
return false
}
}
}
}
}将此过滤器添加到grails-app/conf目录。
有关grails过滤器http://grails.org/doc/latest/guide/6.%20The%20Web%20Layer.html#6.6过滤器的详细信息
https://stackoverflow.com/questions/5909573
复制相似问题