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

时间:2023-01-30 12:30:35

角色管理功能:

界面部分:

<%@ 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 = "角色已经删除完成";
}
}