在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();
            }
        }
    }
}

在VS Express 2013中为新注册的用户添加默认角色

登录时检查用户的角色。

我不确定,但我认为新用户在默认情况下根本没有分配任何角色。因此,检查他们所处的角色,确定他们是新用户,然后将他们分配到您希望他们所处的角色应该是很容易的。

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-cs

using System.Web;
using System.Web.Security; // Add this to import the namespace

Roles.AddUserToRole(userName, roleName)