2011-06-17 7 views
0

私のウェブサイトへの簡単なログインシステムを行うには "session.user"を使用しています。ユーザーが既にログインしているかどうかを知る方法はありますか?その情報をDBに保存する必要はありませんか?Grails session.user、user already logged in

答えて

3

独自のセキュリティ実装をロールすることは決してお勧めできません。 Slashdotのサイトは、あなたがハッカーより賢いと思ったからではなく、すごいので、あなたのサイトをSlashdotにしたいと思っています。

http://grails.org/plugin/spring-security-coreまたはhttp://grails.org/plugin/shiroを使用してください。どちらも使いやすいですが、多くのオプションの高度な機能があります。

1

session.userが存在するかどうかだけで確認できます。そうであれば、ユーザはログインしていますがログインしていません。

grails Filtersを使用して、コントローラにアクセスする前に確認できます。 grails docs (Filter Types)

class SecurityFilters { 
    def filters = { 
     loginCheck(controller:'*', action:'*') { 
      before = { 
       if(!session.user && !actionName.equals('login')) { 
        redirect(action:'login') 
        return false 
       } 
      } 
     } 
    } 
}