是的你可以。但是我不认为WebSecurity
提供了一种通过其 API 更新成员表中的额外列的方法,例如 UserProfile。
我们就是这样做的,我们有 MVC4 ASP.NET 互联网应用程序项目,并且我们使用的是 EF5.0 Code First。
您已经知道如何在 UserProfile 表中添加额外的列(表名可以是任何名称)。
一旦我们有了一个类(具有所有必需的额外列以及 UserId 和 UserName),
- 添加了一个
UserController
专用于促进 UserProfile 的 CRUD 操作的控制器。
- UserController 使用
UserService
业务层中的一个类来处理对 UserProfile 类(实体)的所有 CRUD 操作。
在 Edit Post 操作中,控制器调用 UserService 类UpdateUser()
方法,如下所示:
public void UpdateUser(UserProfile user)
{
Guard.ArgumentNotNull(user, "user");
if (_roleWrapper.GetRolesForUser(user.UserName).Any())
{
_roleWrapper.RemoveUserFromRoles(user.UserName, _roleWrapper.GetRolesForUser(user.UserName));
}
if (!_roleWrapper.IsUserInRole(user.UserName, user.Role))
{
_roleWrapper.AddUserToRole(user.UserName, user.Role);
}
_dataContext.Update<UserProfile>(user);
}
以上文字和示例仅供参考,您可以简化。基本上,您需要掌握 UserProfile 类并使用 DbContext 手动更新它。WebSecurity
考虑到简单性,API 有限。
希望有所帮助(如果有任何令人困惑的地方,请告诉我,我会进一步扩展)。