6
我想訪問webpages_membership表(我使用SimpleMembership)來檢索帳戶ConfirmationToken。MVC4:什麼實體代表表webpages_Membership
如何從我的模型/控制器/ DAL訪問此表?
我能想到的唯一的事情就是從我的代碼中執行純SQL來獲得這個值,但這看起來並不是正確的做法,也不是優雅。
我想訪問webpages_membership表(我使用SimpleMembership)來檢索帳戶ConfirmationToken。MVC4:什麼實體代表表webpages_Membership
如何從我的模型/控制器/ DAL訪問此表?
我能想到的唯一的事情就是從我的代碼中執行純SQL來獲得這個值,但這看起來並不是正確的做法,也不是優雅。
從我的理解,沒有直接的方法來檢索價值使用WebSecurity
幫手。
當你創建一個用戶和帳戶的方法返回的確認令牌:
string confirmationToken = WebSecurity.CreateUserAndAccount("tester", "test123", requireConfirmationToken: true);
然後,您可以發送該令牌(一個鏈接,例如查詢字符串參數內)到用戶的電子郵件地址。至於你提到你當然可以打到DB直接編寫自己的SQL,甚至添加webpages_Membership
到
WebSecurity.ConfirmAccount(userName, confirmationToken);
:當用戶點擊鏈接時,您的應用程序必須得到/讀取該令牌,然後你必須調用EntityFramewok EDMX模型和查詢直接表:
var confirmationToken = Database.Memberships.Single(m => m.UserId == userId).ConfirmationToken;
更多內容:
Using the confirmation feature for ASP.NET Web Pages security
謝謝Leniel。您描述的是我的意圖,但有時用戶(無論出於何種原因)想要重新發送確認電子郵件。我們如何實現一個重新發送函數而不使用自定義sql來檢索原始的confirmationToken? – 9999bao
在這種情況下,您可以使用此處描述的數據庫幫助來爲用戶檢索'confirmationToken':http://www.mikesdotnetting.com/Article/156/WebMatrix-Database-Helpers-for-IN-Clauses –