我想在ASP.NET MVC應用程序中實現解釋here的身份驗證類型。 http://jaspan.com/improved_persistent_login_cookie_best_practiceASP.NET MVC應用程序中的持久登錄實現
我目前的實現是有一個用戶和UserLoginTokens表:
CREATE TABLE [Users].[Users]
(
Id int NOT NULL,
UserName nvarchar(30) NULL, -- Not unique. Login by Email.
Email nvarchar(100) NOT NULL,
PasswordHash nvarchar(512) NOT NULL,
PasswordSalt nvarchar(512) NOT NULL,
)
CREATE TABLE [Users].[UserLoginTokens]
(
Id int NOT NULL,
UserId int NOT NULL,
Token varchar(16) NOT NULL,
Series varchar(16) NOT NULL,
)
用戶登錄後,他發出了用戶的cookie的內容:[email protected]&[email protected]
。
現在,我有PersistentLoginModule
搜索這個cookie每個請求,驗證令牌和系列是有效的從它建立用戶。
我的問題:
爲了實現這一點,是不是好主意,實現自己的認證模塊,並完全不使用FormsAuthentication?
我應該在每個請求中針對數據庫驗證令牌嗎?
什麼時候應該丟棄舊的令牌並向用戶發出新的令牌?
關於數據庫的實施,如果我正確地理解,對於給定的用戶,系列總是相同的。如果是這樣,也許我應該將其移動到用戶表?
謝謝,任何幫助將非常感激!
如果我是你,我會去會員。身份驗證是一項嚴謹的業務,不要輕易處理。如果你沒有正確的做法,你的應用程序可能會有一個嚴重的安全漏洞。 – alexcepoi 2011-01-25 12:56:50