2012年12月29日

[Grails 開發筆記] 變更 Session Timeout 時間設定


在 grails-app/conf/Config.groovy 無法找到 Session Timeout 的相關設定,如果需要修改則有以下方式:

方法一、修改 Grails Templates

Templates 是 Grails 用來產生 web.xml 等相關設定的範本,在打包成 .war 檔案時,會依照 Templates 的內容產生;預設的專案資料夾並不會包含 Templates,需要先執行「grails install-templates」將檔案複製一份到專案下。

grails install-templates

執行後會產生「src/templates」資料夾,在「src/templates/war/web.xml」可以找到 Session Timeout 設定。

 72     <session-config>
 73         <!-- 30 minutes -->
 74         <session-timeout>30</session-timeout>
 75     </session-config>

方法二、修改 AppConstants.groovy

在「grails-app/conf」資料夾下建立或修改 AppConstants.groovy 程式碼,加入一行常數值設定。

public static final Integer SESSION_TIMEOUT = 3600    //3600 sec. = 60min.

方法三、在 Controller 使用 setMaxInactiveInterval 設定

這是在執行階段可以動態修改 Session Timeout 時間的方法。

session.setMaxInactiveInterval(AppConstants.SESSION_TIMEOUT);


*歡迎訂閱 Groovy Taiwan 臉書專頁,可以得到更多 Groovy / Grails 訊息分享。

沒有留言:

張貼留言

lyhcode by lyhcode
歡迎轉載,請務必註明出處!