4

私のgrailsプロジェクトでは、SpringSecurityコアプラグインを使用しています。ログアウトリンクを次のように提供しました

<g:link controller="logout">Logout</g:link> in my gsp pages. 

LogoutControllerのコードは次のとおりです。

class LogoutController {

/**
 * Index action. Redirects to the Spring security logout uri.
 */
def index = {
    // TODO put any pre-logout code here
        session.invalidate()
        redirect uri: SpringSecurityUtils.securityConfig.logout.filterProcessesUrl // '/j_spring_security_logout'
 }
}

ユーザーがクリックすると、ユーザーはログインページにリダイレクトされます。ただし、ユーザーがブラウザの戻るボタンをクリックすると、ユーザーは前の作業ページを表示できます。彼を前のページにリダイレクトしたくないので、ログインページにとどまる必要があります。私はそれのために何ができますか?

追加情報:ログインユーザーのユーザー名をチェックするタグライブラリを1つ作成しました。匿名の場合は、ログインページにリダイレクトするか、ホームページに送信します。しかし、それを操作するには、ユーザーは何かをクリックする必要があります。現在ログアウト後なので、ユーザーは戻るボタンをクリックすると前のページを見ることができます。前のページで彼をリダイレクトしたくありません。彼はログインページに留まる必要があります。

4

1 に答える 1

8

簡単です。このコードをすべてのページに挿入するだけです。

<%
response.setHeader("Cache-Control","no-cache");  

response.setHeader("Cache-Control","no-store");     

response.setDateHeader("Expires", 0); 

response.setHeader("Pragma","no-cache");

%>
于 2013-07-07T18:27:00.860 に答える