我想通过EF使用默认会员资格。我将有显示自定义用户信息的页面,因此我想使用 aspnet_Users (membeship provider)表的 UserId 列作为用户特定信息表的主键。我可以看到我可以访问 LogOnModel 模型类的 m.UserName 。 例如在LogOn.cshtml中:
@model CPoll.Models.LogOnModel
<div class="editor-label">
@Html.LabelFor(m => m.UserName)
</div>
但是我没有开箱即用的 m.UserId 。这可以改变我的目的吗?默认成员资格提供程序是否适合此用途(用户自定义信息页面)?谢谢。
答案 0 :(得分:2)
userID存储在此处:
Membership.GetUser()ProviderUserKey.ToString();
如果要访问它,请将其存储在视图模型中并引用它。 但!!!! - 我不会在页面上使用它,因为你应该使用它来更改用户的信息,当他们发布BACK到控制器。确定他们来自提供者,并且不信任表单上输入的内容,因为他们可以轻易地伪造这个以覆盖其他用户,就像我在信息篡改部分中的演示一样
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/DEV333