2013-08-25 54 views
1

我的網絡應用程序在註冊後需要用戶登錄一次,如果用戶註銷,他必須通過ConfirmationToken激活他的帳戶。我發現requireConfirmationToken:false可讓您在註冊後登錄,但您將失去激活,反之亦然。SimpleMemberShip WebSecurity一次註冊後登錄

bool isLoggedIn = WebSecurity.Login(registerModel.Username, registerModel.Password); 

// isLoggedIn false if requireConfirmationToken:true & true if requireConfirmationToken:false 

有什麼建議嗎?

回答

0

如果您將requireConfirmationToken設置爲true,則必須使用電子郵件確認讓用戶確認他們提供了有效的電子郵件地址。在電子郵件確認過程中,您可以撥打WebSecurity.ConfirmAccount方法。在帳戶被確認之前,登錄每次都會失敗。你可以read more about setting up email confirmation here

+0

Kevin,有什麼方法可以取消確認,目前使用'WebSecurity.ConfirmAccount'方法符合用戶註冊,我需要取消/禁用用戶帳戶? – sridharnetha

+0

「取消確認」是什麼意思?您是否使用確認,並且現在您想要在沒有令牌時將用戶設置爲確認?請解釋。 –

1

這很容易做到,您只需假定用戶有效,如果他們使用非持久性cookie成功註冊並頒發FormsAuthentication憑證。

FormsAuthentication.SetCookie(username, false); 

這會讓他們驗證他們註冊後(當然,接下來的頁面刷新後),直到他們關閉瀏覽器或註銷。之後,登錄將失敗,直到他們激活他們的帳戶。

+0

這是您所描述場景的理想解決方案。 –