簡體   English   中英

MVC4簡單成員資格何時會發生自動登錄?

[英]MVC4 Simple Membership When Does Automatic Login Occur?

我有一個使用MVC4簡單成員資格提供程序的應用程序。 我已經在Login方法中添加了一些代碼,該代碼設置了一些會話信息,這些信息是我處理某些安全事務所需的。

如果我關閉瀏覽器並返回瀏覽器,MVC仍會顯示我已在左上角登錄,並且仍然填寫了User.Username屬性,但顯然我沒有放進去。

此“身份驗證”何時或何地進行? 我嘗試在Global.asax的Application_Start中檢查請求和用戶對象,但運行時它們仍然為null。

在身份驗證管道中是否還有其他地方可以覆蓋或調用我的方法來提取我需要的東西,這會更合適?

謝謝!

“記住我”功能與簡單會員資格或任何會員資格無關。 使用它時,沒有實際的“登錄”發生。 它是放置在用戶系統上的持久性cookie,並且在加載頁面時會讀取該cookie。 如果它包含正確加密的數據,則認為用戶已通過身份驗證,而無需再次進行成員資格驗證。

您需要做什么取決於您的工作方式。 如果將數據存儲在會話中,那么這很不好,因為可以隨時重置會話,並且會話未連接到身份驗證。 您需要做的就是檢查所需的數據是否在會話中,如果沒有,請重新構建它。 這樣一來,當您稍后再回來時,或者如果您的會話被重置,它就可以工作。

無論如何都不應使用會話,因為它的伸縮性不好。 更好的選擇是掛接到Controller類的OnAuthorization方法並在那里執行您需要的操作,這樣就可以在每個頁面請求上完成該操作,而不管會話可能與否。

另一種選擇是創建自定義AuthorizationFilter。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM