2012-11-15 54 views
0

我需要幫助,我創建在asp.net MVC3應用程序,我想的是設定產生生成它自己的會話ID在ASP.NET MVC#

var str = Math.floor(Math.random() * (2000 - 1000 + 1)) + 1000; 

document.write("Session ID::" + str); 

我的自定義會話ID上面的代碼用java腳本函數編寫,現在我想在ASP.NET MVC3的會話ID中設置該數字。

+1

爲什麼你想這樣做? – Jan

+0

因爲在我的應用程序中,我需要在會話ID中給出自定義值 –

回答

0

快速谷歌搜索結果顯示,此博客條目解釋如何覆蓋在asp.net會話ID:

http://weblogs.asp.net/anasghanem/archive/2008/12/16/programmatically-changing-the-session-id.aspx

總之:使用類SessionIDManager並調用該方法SaveSessionId設置自己的會話ID:

SessionIDManager manager = new SessionIDManager(); 
string mySessionId = ...calculateYourOwnSessionId...; 
bool redirected = false; 
bool IsAdded = false; 
manager.SaveSessionID(Context, mySessionId, out redirected, out IsAdded); 
0

這應該是不以加密安全隨機數生成器生成您的自定義會話價值,你要介紹的vuln一切代價避免會話管理中的應用程序的實用程序。

如果你需要獲得當前會話標識符,你可以做的兩種方式是一個:

// If in a page or user control: 
string sessionId = this.Session.SessionID; 

// In ASP.NET in a normal class: 
string sessionId = System.Web.HttpContext.Current.Session.SessionID; 

瞭解更多關於它here