asp.net identity 2.2.0 在WebForm下的角色启用和基本使用(三)

角色管理功能:

界面部分:

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="jueseadmin.aspx.cs" Inherits="admin_jueseadmin" %>

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" Runat="Server">

    <div>
        <h1>角色管理</h1>
        <div>
            <h2>角色创建
            </h2>
            <asp:Panel ID="Panel2" runat="server">
                <div>
                    <p>
                        角色创建
                    </p>
                    <div>
                        角色名称:<asp:TextBox ID="TextBoxRoleName" runat="server"></asp:TextBox>
                        <asp:Button ID="ButtonRolechuangjian" runat="server" Text="创建角色" OnClick="ButtonRolechuangjian_Click" ValidationGroup="cjjs" />
                        <br />
                        <asp:Label ID="Labelcjts" runat="server"></asp:Label>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBoxRoleName" CssClass="text-warning" ErrorMessage="RequiredFieldValidator" ValidationGroup="cjjs">您未输入需创建的角色名称。</asp:RequiredFieldValidator>
                    </div>
                </div>
            </asp:Panel>
            <hr />
            <asp:Panel ID="Panel1" runat="server">
                <div>
                    <p>
                        角色分配
                    </p>
                    <div>
                        用户名称:<asp:TextBox ID="yonghumingcheng" runat="server"></asp:TextBox>
                        角色名称:<asp:TextBox ID="juesemingcheng" runat="server"></asp:TextBox>
                        <asp:Button ID="Buttonjuesefenpei" runat="server" Text="划入角色" OnClick="Buttonjuesefenpei_Click" ValidationGroup="hrjs" />
                        <br />
                        <asp:Label ID="Labelhrts" runat="server"></asp:Label>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="RequiredFieldValidator" CssClass="text-warning" ControlToValidate="yonghumingcheng" ValidationGroup="hrjs">您未输入用户名称。</asp:RequiredFieldValidator>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="RequiredFieldValidator" CssClass="text-warning" ControlToValidate="juesemingcheng" ValidationGroup="hrjs">您未输入角色名称。</asp:RequiredFieldValidator>
                    </div>
                </div>
            </asp:Panel>
            <hr />
            <asp:Panel ID="Panel3" runat="server">
                <div>
                    <p>
                        删除角色
                    </p>
                    <div>
                        角色名称:<asp:TextBox ID="TextBoxjueseshanchu" runat="server"></asp:TextBox>
                        <asp:Button ID="Buttonjueseshanchu" runat="server" Text="删除角色" OnClick="Buttonjueseshanchu_Click" ValidationGroup="scjs" />
                        <br />
                        <asp:Label ID="Labelscts" runat="server"></asp:Label>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="TextBoxjueseshanchu" CssClass="text-warning" ErrorMessage="RequiredFieldValidator" ValidationGroup="scjs">您未输入需创建的角色名称。</asp:RequiredFieldValidator>
                    </div>
                </div>
            </asp:Panel>
        </div>
    </div>

</asp:Content>

cs代码部分:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using xxxxform;   //你的项目

public partial class admin_jueseadmin : System.Web.UI.Page
{
    ApplicationDbContext context = new ApplicationDbContext();
    IdentityResult IdRoleResult;
    IdentityResult IdUserResult;
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void ButtonRolechuangjian_Click(object sender, EventArgs e)
    {
        var roleStore = new RoleStore<IdentityRole>(context);
        var roleManager = new RoleManager<IdentityRole>(roleStore);
        if (!roleManager.RoleExists(TextBoxRoleName.Text))
        {
            var IdRoleResult = roleManager.Create(new IdentityRole { Name = TextBoxRoleName.Text });
            Labelcjts.Text = "角色已经创建完成";
        }
        else
        {
            Labelcjts.Text = "该角色已存在,无需创建。";
        }
    }

    protected void Buttonjuesefenpei_Click(object sender, EventArgs e)
    {
        var roleStore = new RoleStore<IdentityRole>(context);
        var roleManager = new RoleManager<IdentityRole>(roleStore);
        var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
        if (!userManager.IsInRole(userManager.FindByName(yonghumingcheng.Text).Id, juesemingcheng.Text))
        {
            IdUserResult = userManager.AddToRole(userManager.FindByName(yonghumingcheng.Text).Id, juesemingcheng.Text);
            Labelhrts.Text = "用户划入角色完成";
        }
    }

    protected void Buttonjueseshanchu_Click(object sender, EventArgs e)
    {
        var roleStore = new RoleStore<IdentityRole>(context);
        var roleManager = new RoleManager<IdentityRole>(roleStore);
        IdRoleResult = roleManager.Delete(new IdentityRole { Name = TextBoxjueseshanchu.Text });
        Labelcjts.Text = "角色已经删除完成";
    }
}
原文地址:https://www.cnblogs.com/chonghanyu/p/4103920.html