使用asp.net标识和WEB表单消费扩展属性(VS2013.3)
本文关键字:属性 扩展 VS2013 net asp 标识 表单 WEB 使用 | 更新日期: 2023-09-27 18:18:24
我目前使用VS 2013.3自学ASP.net,并使用Webforms实现ASP.net身份(代码优先)。
我已经遵循了一些MVC教程,看看我是否可以学习这种方式,但没有太多的成功。
我想在用户配置文件中添加额外的属性,如姓名和年龄。
所以我创建了一个类Application user,它继承了IdentityUser,
public class ApplicationUser : IdentityUser
{
public String FirstName { get; set; }
public String Age{ get; set; }
}
然后修改数据库上下文,使用这个新用户
public ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
...
}
到目前为止一切顺利-我可以直接用代码注册新用户
public partial class Register : Page
{
EPMSContext db = new EPMSContext();
protected void CreateUser_Click(object sender, EventArgs e)
{
var manager = Context.GetOwinContext().GetUserManager<ApplicationUserManager>();
var user = new ApplicationUser() { UserName = Email.Text, Email = Email.Text, Name = Name.Text, Age=Age.Text, };
IdentityResult result = manager.Create(user, Password.Text);
if (result.Succeeded)
{
IdentityHelper.SignIn(manager, user, isPersistent: false);
IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response);
}
else
{
ErrorMessage.Text = result.Errors.FirstOrDefault();
}
}
我正在努力实现我如何在其他页面中使用这个新的配置文件信息?
有人能给我点一些示例代码吗?
登录用户的Id可以从user . identity . getuserid()中获得。在任何页面上,您都可以将此与UserManager一起使用以获取用户对象
var user = UserManager.FindById(User.Identity.GetUserId());
然后您可以访问用户配置文件
user.FirstName; user.Age;
希望这能回答你的问题