2014-03-25 58 views
0

我有一个Domain类和Controller名为Person。这Controller有4意见。 create.gsp,remove.gsp,show.gsp,showdetail.gsp限制访问某些意见 - 初学者

我想要做的就是允许读取权限showdetail.gsp给所有观众和限制create.gspremove.gspshow.gsp视图的访问。只有Administrator应该能够访问这些页面。我如何在Grails中做到这一点?

+1

您可以使用[春安芯(http://grails.org/plugin/spring-security-core)Grails的插件。插件提供基于角色的认证。 [插件手册](http://grails-plugins.github.io/grails-spring-security-core/docs/manual/)可以适当地指导。 – dmahapatro

回答

0

你可以使用安全过滤器来做到这一点,或者你可以使用Spring Security Core grails插件。 如果你想用的保安过滤器,你可以做到以下几点:

  1. 在登录时每个用户创建会话。 会话[“用户”] =“罗希特” //用户名

  2. 添加安全过滤器:

    PersonFilters(controller: 'person', action: 'create') { 
        before = { 
         // code to be change 
         if(!session["user"]) { 
         //flash.message = "Your session has been expired. Please login to continue." 
          redirect(controller: "login", action:"index") 
          return false; 
         } else if(session["user"] && session["user"] != "admin"){ 
          // redirect to some action 
          // redirect(controller: "", action:"index") 
          return false; 
         } 
        } 
    } 
    

同样,您可以为您不希望这些行动加上保安过滤器向除admin之外的任何用户展示。