我正在尝试访问 pages_Membership 表(我正在使用 SimpleMembership)来检索帐户 ConfirmationToken。
如何从我的模型/控制器/DAL 访问此表?
我唯一能想到的就是从我的代码中执行纯 SQL 来获取这个值,但这似乎不是正确的做法,也不优雅。
我正在尝试访问 pages_Membership 表(我正在使用 SimpleMembership)来检索帐户 ConfirmationToken。
如何从我的模型/控制器/DAL 访问此表?
我唯一能想到的就是从我的代码中执行纯 SQL 来获取这个值,但这似乎不是正确的做法,也不优雅。
据我了解,没有直接的方法可以使用WebSecurity
帮助器检索值。
当您创建用户和帐户时,该方法会返回确认令牌:
string confirmationToken = WebSecurity.CreateUserAndAccount("tester", "test123", requireConfirmationToken: true);
然后,您将此令牌(例如在链接中作为 QueryString 参数)发送到用户的电子邮件地址。当用户单击链接时,您的应用必须获取/读取此令牌,然后您必须调用:
WebSecurity.ConfirmAccount(userName, confirmationToken);
正如您所提到的,您当然可以直接编写自己的 SQL 来访问数据库,甚至可以将其添加webpages_Membership
到 EntityFramewok EDMX 模型并直接查询表:
var confirmationToken = Database.Memberships.Single(m => m.UserId == userId).ConfirmationToken;
更多关于这个: