2013-04-29 120 views
2

我們有一個使用SimpleMembership的web應用程序,註冊時發送確認郵件。現在,我希望用戶在驗證帳戶時自動登錄。.NET MVC 4註冊後自動登錄

我猜要走的路是讓用戶與確認相關的令牌,然後使用:

if (WebSecurity.UserExists(username)) 
{ 
    FormsAuthentication.SetAuthCookie(username, false); 
} 

的問題是,似乎沒有要檢索確認憑證的簡單方法。 WebSecurity有一個函數Ge​​tUserIdFromPasswordResetToken(),但這並沒有什麼幫助。

回答

4

這是關於retrieving the confirmation token in SimpleMembership的文章。

但是在本文中檢索確認標記的目的是爲了向用戶重新發送電子郵件。在確認過程之後,我會小心地自動記錄此人,因爲它可能會引入安全漏洞。這將允許任何持有鏈接電子郵件的人登錄該帳戶。出於安全原因,最好讓用戶在確認後使用其憑據登錄。你會在comments for this article中看到這個問題。

+0

但是,如果我不關心電子郵件確認怎麼辦?我只想簡單地設置用戶在成功提交註冊表單後立即登錄。即使電子郵件無效。 – 2017-01-16 02:14:02

+0

使用電子郵件確認是可選的,您添加到模板提供的正常代碼。當您調用CreateUserAndAccount時,請確保您將參數requireConfirmationToken設置爲false。 – 2017-01-17 21:24:05