1

Facebook認証用のカスタム認証方法でgrails spring securityを使用します。

def auth() {
    ...
}

ブラウザで Cookie を確認すると、ブラウザ セッションが閉じられると Cookie の有効期間が終了することがわかります。永続的な rememberMe Cookie は、プラグインからデフォルトのログイン/認証アクションを使用した場合にのみ設定されます。

カスタム認証方法でログインしているユーザーがセッション間でログアウトされないようにするには、何を変更する必要がありますか?

再認証には、次を使用します。

def success() {

    // get facebook user data

    springSecurityService.reauthenticate username

    if(springSecurityService.loggedIn) {
            // do something

    }
}

rememberMe Cookie を設定するにはどうすればよいですか?

4

2 に答える 2

2

アイデア: Spring Security Remember Me サービスに、ログインの成功を考慮する必要があることを知らせます。

  1. Facebook の成功アクションで、認証が成功したら、次の操作を行います。

    //wire remember me services
    def rememberMeServices
    
    //... in your action:
    springSecurityService.reauthenticate username
    
    def authentication = SecurityContextHolder.context.authentication
    rememberMeServices.loginSuccess(request, response, authentication)
    
  2. Config.groovy に以下を追加します。

    grails.plugins.springsecurity.rememberMe.alwaysRemember = true
    
于 2013-01-09T17:36:13.233 に答える
0

元の auth.gsp の送信とカスタムの auth.gsp の間で、要求の POST パラメーターを比較します。欠落している追加の隠しフィールドがあります。これには Firebug を使用します。

于 2013-01-01T19:34:07.343 に答える