一、全域性**(即伺服器)級
二、**級
如果「編輯全域性配置」,就和上個配置一樣。
1、繼續選擇「狀態管理」-會話超時(分鐘)-設定為360,即360分鐘。效果同上,只不過只對當前**生效。
2、身份認證-forms-cooke超時,選擇"12:00:00",即12個小時。可選項共有以下八項:
00:15:00
00:30:00
01:00:00
02:00:00
04:00:00
08:00:00
12:00:00
1:00:00:00
即最長24小時,最小15分鐘。這是預設的配置。在應用中可以自由定製。
三、應用程式級
同**管理,只不過作用域僅限當前應用程式。
四、頁面級
在某頁面中,設定session.timeout = 30;即可臨時修改某頁面的會話過期時間。
檢視某個session的過期時間,可以用
其中,二和三的設定,體現在web.config中即:
<?
xml version="1.0"
?>
<
configuration
>
<
system.web
>
<
authentication
mode
="forms"
>
<
forms
name
="authlogin"
loginurl
="/login.aspx"
protection
="all"
timeout
="360"
slidingexpiration
="true"
/>
authentication
>
<
sessionstate
mode
="inproc"
cookieless
="false"
timeout
="20"
/>
system.web
>
<
location
path
="login.aspx"
>
<
system.web
>
<
authorization
>
<
allow
users
="*"
/>
authorization
>
system.web
>
location
>
configuration
>
以上四處設定的優先順序為頁面級》應用程式級》**級》伺服器級。換句話說,如果頁面設定為20分鐘,**設定為120分鐘,那麼,顯然以20分鐘為生效的過期時間。
另外乙個值得注意 的地方。
在設定二處,設定會話超時(sessionstate)120分鐘,而同時用forms認證,設定為「00:15:00」,即15分鐘,並且slidingexpirationo為false,則真正生效的session過期時間是多少呢?
有效的結果是sessionstate的設定,即120分鐘。
如果有設定session過期時間沒有生效的,請檢查以上幾處配置。
Tomcat的Session過期處理策略
tomcat容器實現類都繼承了containerbase類,容器在啟動的時候都會呼叫containerbase類的threadstart 方法,threadstart 方法如下 protected void threadstart protected class containerbackgroun...
MVC過濾器處理Session過期
一 自定義乙個action過濾器 public class checksession actionfilterattribute else else 不想使用全域性過濾器可使用此標籤 public class nofilter attribute 二 註冊全域性過濾器 在filterconfig中新...
MVC過濾器處理Session過期
一 自定義乙個action過濾器 public class checksession actionfilterattribute else else 不想使用全域性過濾器可使用此標籤 public class nofilter attribute 二 註冊全域性過濾器 在filterconfig中新...