簡體   English   中英

發送電子郵件驗證鏈接以激活配置文件c#

[英]Sending email verification link to activate profile c#

我目前正在建立一個人們可以注冊的網站,他們可以擁有自己的內容頁面。 我創建了一個自定義登錄頁面,不使用Microsoft Visual Studio 2010上提供的創建用戶向導。我在后端有一個SQL數據庫

向tblUsers

用戶注冊的地方將被保存。 我已經配置了電子郵件smtp設置,並且能夠使用注冊人員電子郵件發送電子郵件。 我測試了這個並且它有效。

問題

(1)我很困惑如何生成附加的激活鏈接以與電子郵件一起發送。

(2)如何編寫代碼來更新與用戶相關的SQL表中的字段

例如:用戶驗證=真

當用戶點擊通過電子郵件發送的鏈接時。

(3)如何在不經過驗證過程的情況下阻止用戶登錄網站? (我知道這可以通過在創建用戶向導上更改一些內容輕松完成,但是我通常會創建我的注冊,因此它會在注冊按鈕單擊事件上運行)因此我似乎無法理解如何做它。

請盡量幫助我,如果可能的話會非常感激。

我建議有一個名為“ActivationToken”的字段,並生成一個GUID。 您可以通過調用newid()函數直接在SQL中執行此操作,或者通過調用Guid.NewGuid()在C#中執行此操作。 這是一個非常獨特/隨機的值,幾乎不可能蠻力。

因此,當用戶注冊時,您將執行以下操作:

insert into tblUsers (Username, Password, Active, ActivationToken) values ('johndoe', 'mypassword', 0, newid())

鏈接是這樣的: http://yoururl.com/Activate.aspx?token= {} yourActivationGuid

Update tblUsers set Active=1 where ActivationToken={yourActivationGuid}

如果您的UserID已經是GUID,那么您可能只是使用它(例如,如果您使用的是aspnet_user表)。 至於不允許登錄,只需檢查Active標志是否設置為true。 如果沒有,請禁止登錄。

所以要驗證登錄,你可以這樣做:

select * from tblUsers where Username="johndoe" and Password="mypassword" and Active=1

創建用戶登錄頁面。 單擊提交后,生成如上所述的新guid(),並使用激活guid(唯一)將電子郵件發送給用戶,並在用戶單擊后激活數據庫中的用戶(SQL)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM