0

我有Web應用程序,並在我的web應用程序中有fiture改變電子郵件, 這個效果,如果用戶更改他們的電子郵件算法來改變用戶的電子郵件

  1. 變更後的電子郵件將被自動註銷&我」 m將激活碼發送到新的電子郵件。
  2. 如果用戶嘗試使用新電子郵件登錄而未激活,則會顯示錯誤,因爲電子郵件未激活。
  3. 當用戶更改他們的電子郵件時,在我的數據庫中,電子郵件被更改爲他們的新電子郵件,並且我將用戶的更改狀態從1改爲0,1爲活動用戶0正在等待激活。如果狀態爲1,則用戶可以登錄,但是如果狀態0用戶無法登錄。與已發送到他們的新電子郵件用戶的代碼激活可以從0激活到1狀態,並且可以正常登錄。

的問題是:

  1. 如果用戶的新的電子郵件是假的或無效的,用戶無法再次登錄。

你的建議,以解決這個問題?

感謝您的回答。

回答

0

我會讓旁邊結構的附加表稱爲USER_EMAILS:

EMAIL_ID
電子郵件
USER_ID電子郵件
currently_active
DATE_ADDED

遷移數據從用戶表。
然後,我會更改我的應用程序以使用此新表,您需要獲取用戶電子郵件。
並放下用戶表中的字段電子郵件。

在此之後,您可以爲一個用戶支持多個電子郵件,這非常適合多種原因。

只要用戶未確認新電子郵件,需要將user_emails表中的字段current_active設置爲對某些電子郵件處於活動狀態。
確認後,只需將舊電子郵件current_active設置爲0,新建爲1,並在需要用戶電子郵件的地方使用該條件。

1

只需在點擊激活碼/鏈接後更改電子郵件地址(步驟3中的操作)。

+0

我已更新我的問題 – viyancs

0

不要自動註銷它們。如果你願意,你可以重新生成會話ID,但我不認爲這需要任何註銷。

然後,不要使新的電子郵件地址有效,除非它已被驗證。還要求更改電子郵件的用戶在開始更改密碼之前需要重新提供密碼。

然後發出驗證郵件。只有在確認之後,才能爲登錄設置新的電子郵件地址。

0

您將只需添加一個新的表格/列以用於掛起的郵件更改。這個過程就是這樣。

  1. 用戶更改電子郵件地址並且服務器向舊地址發送確認/激活郵件。同時,服務器還會向用戶添加待處理郵件更改屬性。用戶仍然需要使用舊郵件地址登錄。

  2. 用戶未激活新地址並以舊地址登錄。告訴用戶他仍有未決的郵件地址更改。此時用戶可以取消郵件更改或轉到新的郵件地址並激活新地址。

2.1用戶註銷並激活郵件從舊郵件地址更改。在此激活完成之前,用戶仍然必須使用舊郵件地址登錄系統。

  1. 激活/確認待處理郵件地址後,主地址和掛起的屬性消失。用戶無法使用舊郵件地址登錄。
相關問題