在VS Express 2013中为新注册的用户添加默认角色
本文关键字:注册 用户 添加 角色 默认 Express VS 2013 新注册 | 更新日期: 2023-09-27 18:02:35
我从默认创建的Register.aspx.cs开始,添加了用户的FirstName和LastName。
我现在希望能够将任何新用户默认为"User"角色,以便他们只能访问适当的页面。我看到很多关于旧版本VS的帖子,但似乎没有一个在这里工作。我已经在AspNetRoles表中添加了两个角色(Admin,User)。
我是VS和c#的新手,所以可能会错过一些简单的东西。
当前代码:using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using Microsoft.AspNet.Identity.Owin;
using System;
using System.Linq;
using System.Web;
using System.Web.UI;
using WebApplication1.Models;
namespace WebApplication1.Account
{
public partial class Register : Page
{
protected void CreateUser_Click(object sender, EventArgs e)
{
var manager = new UserManager();
var user = new ApplicationUser()
{
UserName = UserName.Text,
FirstName = FirstName.Text,
LastName = LastName.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();
}
}
}
}
登录时检查用户的角色。
我不确定,但我认为新用户在默认情况下根本没有分配任何角色。因此,检查他们所处的角色,确定他们是新用户,然后将他们分配到您希望他们所处的角色应该是很容易的。
https://msdn.microsoft.com/en-us/library/system.web.security.roles.addusertorole (v = vs.110) . aspx
http://www.asp.net/web-forms/overview/older-versions-security/roles/assigning-roles-to-users-csusing System.Web;
using System.Web.Security; // Add this to import the namespace
Roles.AddUserToRole(userName, roleName)