2012-10-15 75 views
2

我正在尋找使用長數據類型(bigint)的系統中的各種id值和WebSecurity類的當前實現使得UserId是int(smallint)的假設。WebSecurity和長ID

我正在考慮下載源代碼並編輯它以使用長數據類型。有誰知道這是否已經完成?

TIA,

回答

2

只是因爲我真的結束了WebSecurity類的源代碼移植到記錄我的資源。與相關的成員資格和角色提供者源代碼一起,然後進行編輯以適應我的需要。

2

,如果你喜歡,你可以定義在表中的用戶ID列作爲一個BIGINT。您只需告知WebSecurity幫助程序在InitializeDatabaseConnection方法中使用哪一列。

請參閱本文就如何初始化WebSecurity助手使用現有的數據庫模式,而不是允許它來創建自己的:THE most basic way to implement ASP.NET Razor security

+0

嗨邁克,這確實是我做到這一點的方式。使用代碼優先我的數據庫已經使用bigint作爲用戶標識列。當您開始使用WebSecurity類時出現問題... public static int CurrentUserId {get; } 公共靜態INT GetUserId(用戶名字符串) 公共靜態INT GetUserIdFromPasswordResetToken(字符串標記) ... 很多系統中,您不妨利用價值將超過int類型互動... – Jammer

+0

哦,我明白了什麼你意思是。完全忽略了這一點 - 不幸的是,你將不得不創建你自己的成員資格提供程序,重寫所有引用UserId值爲int的方法並免除WebSecurity幫助程序。 –

+0

其實我現在正在查看WebSecurity源代碼並希望構建一個自定義版本...雖然我並不完全相信這一行動的過程:) – Jammer