2014-01-10 77 views
0

我有一個應用程序在哪裏訪問數據庫用戶必須在會話中。當用戶登錄時,在瀏覽器中他/她被認證並且會話開始。下面是一個例子保存未來會話的用戶名和密碼

[HttpPost] 
[AllowAnonymous] 
public ActionResult CustomLogin(LoginModel login) 
{ 
    using (var loginsSession = SoSession.Authenticate(login.Username, login.Password)) 
    { 
     var x = 0; 
    } 

    return null; 
} 

問題 每次用戶失控此控制器的登錄功能,會話過期。 如果用戶想要再次訪問數據庫,我需要創建新的會話,但問題是我不知道如何存儲用戶名和密碼,以便我不必要求用戶一次又一次地登錄。 是否有一些聰明的方式來存儲用戶名和密碼的地方,以便我可以使用它,直到用戶從瀏覽器註銷?

+0

你必須爲此實現cookie。 http://stackoverflow.com/questions/3140341/how-to-create-persistent-cookies-in-asp-net – CodeXerox

+0

對於餅乾的基本知識:http://msdn.microsoft.com/en-us/library/ aa289495(v = vs.71).aspx – CodeXerox

回答

0

我不確定:您在using(){}聲明中使用session。當您離開登錄控制器時,using語句在Session上調用Dispose方法。

希望得到這個幫助。

+0

實際上,當用戶從瀏覽器註銷時,可能會選擇不使用'Using(){}'並處理該會話。但我想知道是否有某種方法可以在某處保存用戶名和密碼,以便以後可以訪問它 – Cybercop

+0

您可以使用cookie存儲用戶名和密碼,但它存在安全問題。 – lmt1608