日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

asp.net form身份认证不定时认证失败的问题 排查

發布時間:2024/3/13 asp.net 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asp.net form身份认证不定时认证失败的问题 排查 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.網站出現form認證不定時認證失敗。登陸過后 每隔一會兒就需要重新登陸。首先檢查的是form身份認證票據設置的時間(正常) 然后檢查加密后的身份認證信息寫入的cookie的失效時間(正常)

2.這個時候的想法是服務器是否加了一層代理。導致代理向服務器發送身份認證cookie信息失敗,或者是服務器返回身份認證信息cookie ?經過代理轉發給客戶端的時候代理經過包裝。第二次發向代理 代理認為失效了 不向上層轉發(host內網 排除)

3.在asp.net 事件管道的begin_resquest ?打印requset 封裝的cookie信息(存在) ?在身份認證信息事件管道(第二個事件管道)打印(無效)

4.這個時候發現是asp.net框架對身份認證cookie認證失敗。。(票據有效時間過了 排除)

5.了解身份認證原理

? ? 登陸時:

? ? ? ? ?1. 檢查用戶提交的登錄名和密碼是否正確。
? ? ? ? ?2. 根據登錄名創建一個FormsAuthenticationTicket對象。
? ? ? ? ?3. 調用FormsAuthentication.Encrypt()加密。(每次程序啟動都會隨機生成一個加密字符串。根據這個加密字符串加密和解密)
? ? ? ? ?4. 根據加密結果創建登錄Cookie,并寫入Response。

? ? 每次身份認證:

? ? ? ? ?1. FormsAuthenticationModule嘗試讀取登錄Cookie。
? ? ? ? ?2. 從Cookie中解析出FormsAuthenticationTicket對象。過期的對象將被忽略。(解析是通過 登錄時的加密字符串進行解析)
? ? ? ? ?3. 根據FormsAuthenticationTicket對象構造FormsIdentity對象并設置HttpContext.User
? ? ? ? ?4. UrlAuthorizationModule執行授權檢查。

6.發現iis的web程序 ?處理的進程數改成了5個進程

? ?分析:進程之間數據是不能共享的。那么每個進程生成的隨機加密字符串都不一樣。假如有進程a 和b2個進程 登陸是進程a處理 ,其他請求是進程b處理 通過b的加密字符串解析a的加密字符串加密的身份認證信息(失敗) 導致登陸失敗

? ? ? ? ? ?解決 配置web的加密字符串 不使用隨機

轉載于:https://www.cnblogs.com/LQBlog/p/5907989.html

總結

以上是生活随笔為你收集整理的asp.net form身份认证不定时认证失败的问题 排查的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。