2014-09-30 113 views
1

当用户没有登录,他输入正确的URL登录页面,然后他登录页面,否则当用户输入其他网址时,他将被重定向到错误页面,而不是重定向到登录页面。如何解决这个问题?重定向用户登录页面,如果他们没有登录

+1

(如果有的话)的安全插件,你使用,你如何进行相应的配置是什么? – 2014-09-30 10:40:19

+0

我在应用程序中有弹簧安全插件。每次它将我重定向到登录页面。 – 2014-09-30 11:08:27

+0

我的问题的第二部分如何?您是如何配置它的? [documentation](http://grails-plugins.github.io/grails-spring-security-core/guide/requestMappings.html)表明,默认情况下,您没有专门打开的所有内容都将被禁止。 – 2014-09-30 12:00:08

回答

0

您必须在控制器中使用@Secure注释。如果未经授权,这会将用户重定向到登录页面。此代码:

@Secured(AuthenticatedVoter.IS_AUTHENTICATED_FULLY) 
class CustomerController{ 
    .... 
} 

将重定向大家如何努力,除非它们在登录访问的客户视图页面,他们将被重定向试图访问该页面后到登录页面。虽然它只是一个简单的身份验证,通常你需要做的比这更多,但它会做你想做的。

0

关于第一个问题,上面的答案是好的,但如果你想限制更多 specfically,你可以使用这个太

首先,你应该安装Grails的春季安全插件

class UserController { 

    // allow to access everyone 
    def index() { 
    } 

    @Secured([UserRole.ROLE_USER,UserRole.ROLE_ADMIN,...]) 
    def account() { 
    } 
} 

备注,如果您在班级顶部给予@Secured,将限制整个班级的访问权限

关于第二个问题,你用UrlMapping,例如

"404"(controller:"yourController", action:"yourErrorPageAction") 
相关问题