Brian的雜記
search
Ctrlk
  • Introduction
  • Brian's 雜記
    • My Awesome API
    • FB 大頭貼
    • 硬體雜記
    • PHP
    • projectchevron-right
    • WinMerge
    • 雜記chevron-right
      • LINQ
      • 方法
      • Grid View
      • namespace
      • global
      • 物件導向
      • Excel
      • VS2017
      • single sign on
      • Master
      • Https
      • 憑證
      • 略過憑證不符
      • NLog
      • 團隊開發
      • .NET Core
      • 共用網路上的芳鄰
      • 爬蟲
      • NPOI
      • RSS
      • 多執行緒
      • 記憶體回收
      • 密碼學chevron-right
      • 主機環境建置
      • Session
      • Error
      • IIS 相關
      • 無障礙相關
      • 介面chevron-right
      • telnetchevron-right
      • nslookup
      • 協助客戶解決問題
      • 驗證欄位
      • 網站管理
      • 工具整理
    • 正規表示法
    • 影像處理
    • IntelliJ Idea
    • 觀念chevron-right
    • 檔案上傳chevron-right
    • OAuth vs Open ID
    • MIME
    • 虛擬桌面
    • 待看資料
    • Selenium
    • CDN
    • HTTP
    • 編碼
    • 2nd-ML100Dayschevron-right
    • 微服務chevron-right
    • Gradle
    • Maven
    • Error
    • 批次檔 BAT
    • Kurento
    • WebSocket & WebRTC
  • 需求面能力
    • User Story
  • Google Cloud Platform
    • Compute Engine
  • Python
    • 基本語法
    • Pandas
    • 套件
    • Matplotlib
    • Encoder
    • jupyter
  • Java
    • Javachevron-right
    • 讀取、複寫MP3 Tag
    • Log4j2
    • Servletchevron-right
    • JSP
    • JBOSS
    • JWT
    • PreparedStatement
    • Error
    • Springchevron-right
    • IntelliJ
  • Linux
    • Linux
    • Shell Script
    • Cygwin(在Windows執行Linux指令)
  • 前端
    • HTMLchevron-right
    • CSSchevron-right
    • JSchevron-right
    • 效果應用
  • 資料庫
    • 注意事項
    • MariaDB
    • MySQLchevron-right
    • SQLchevron-right
    • Oracle
    • MSSQL 操作chevron-right
    • 差異比較
    • MyBatis
    • Workbench 操作
    • SQL Injection
  • 版本控制
    • Gitlabchevron-right
    • SourceGitchevron-right
    • SmartGitchevron-right
    • TortoiseGit
    • Git
    • TFS
    • SVN
  • Test
    • 軟體測試原則
    • 演算法
    • XMindchevron-right
    • Jenkinschevron-right
    • HTTPie
    • Postman
    • 測試驅動開發
    • 撰寫測試的觀念
    • 測試框架
    • IoC & DI
    • 隔絕相依性的方式
    • JUnit
    • NUnit
    • 習慣
    • 虛設常式
  • Angular
    • hello world
    • ng-options
    • ES6
    • Build & Conponect
    • HttpClient
    • 部署
  • ASP.NET Web Form
    • Chapter 2chevron-right
    • 略過請求驗證
  • Go
gitbookPowered by GitBook
block-quoteOn this pagechevron-down
  1. Brian's 雜記chevron-right
  2. 雜記

Session

hashtag
Session

hashtag
Glabal.asax 檢查 Session

參考資料:(https://blog.miniasp.com/post/2008/12/05/How-to-check-ASPNET-Session-is-available-in-Global-asax.aspxarrow-up-right)

hashtag
應用 HttpContext.Session

參考資料:(https://msdn.microsoft.com/en-us/library/ms952597.aspxarrow-up-right)

參考資料:(https://msdn.microsoft.com/zh-tw/library/system.web.httpcontext.session(v=vs.110).aspxarrow-up-right)

hashtag
Error

https://stackoverflow.com/questions/35425835/session-state-is-not-available-in-this-context-in-global-asaxarrow-up-right

https://www.codeproject.com/Articles/16171/An-HTTP-Module-for-ASP-NET-Error-Handlingarrow-up-right

https://stackoverflow.com/questions/276355/can-i-access-session-state-from-an-httpmodulearrow-up-right

hashtag
web.config 設定 timeout 單位 mins

參考資料:(https://stackoverflow.com/questions/1205828/how-to-set-session-timeout-in-web-configarrow-up-right)

<configuration>
  <system.web>
     <sessionState timeout="20"></sessionState>
  </system.web>
</configuration>

可以用創建一個簡單的 .aspx ,在 Page_Load 裡面

hashtag
代理伺服器導致掉Session

參考資料:(https://www.mdeditor.tw/pl/p17B/zh-twarrow-up-right)

要設定 放行Cookie 相關的參數,不然會被擋掉

nginx proxy_cookie_path

Previous主機環境建置chevron-leftNextErrorchevron-right

Last updated 4 years ago

Was this helpful?

  • Session
  • Glabal.asax 檢查 Session
  • 應用 HttpContext.Session
  • Error
  • web.config 設定 timeout 單位 mins
  • 代理伺服器導致掉Session

Was this helpful?

Response.Write(Session.SessionID);
您在timeout屬性中設置的值是設置會話超時值的正確方法之一。

該timeout屬性指定會話在放棄之前可以閒置的分鐘數。此屬性的默認值是20。

通過為此屬性分配值1,您將會話設置為在閒置後1分鐘內放棄。

為了測試這個,創建一個簡單的aspx頁面,並將這些代碼寫入Page_Load事件中,

Response.Write(Session.SessionID);
打開瀏覽器並轉到此頁面。會話ID將被打印。等待一分鐘,然後刷新。會話ID將改變。

現在,如果我的猜測是正確的,那麼您希望在會話超時後立即讓用戶註銷。為此,您可以創建一個登錄頁面來驗證用戶憑證,並創建一個像這樣的會話變量 -

Session["UserId"] = 1;
現在,你將不得不在每個頁面上對這個變量進行檢查 -

if(Session["UserId"] == null)
    Response.Redirect("login.aspx");
這是如何工作的一個簡單例子。

但是,為了製作高質量的安全應用程序,請使用ASP.NET提供的角色和成員資格類。他們提供基於表單的身份驗證,這是您正在嘗試使用的正常基於會話的身份驗證更可靠。
location /health-dev/ {
    proxy_pass  http://192.168.40.202:8080/health/;
    proxy_cookie_path  /health /health-dev;
}