UserManagement 组件 — sgcHTML | eSeGeCe

UserManagement

TsgcHTMLComponent_UserManagement — 一个带头像、角色、状态、搜索和每行操作下拉菜单的用户管理表格,适用于 Delphi、C++ Builder 和 .NET。

TsgcHTMLComponent_UserManagement

使用 AddUser 添加用户(或绑定数据集),选择要显示的列和行操作,然后读取 HTML 属性。

组件类

TsgcHTMLComponent_UserManagement

渲染为

工具栏 + Bootstrap 5 表格 + 操作下拉菜单

家族

身份验证

语言

Delphi, C++ Builder, .NET

添加用户、渲染它、处理操作

为每个账户调用 AddUser,读取 HTML 获取表格,然后使用 ProcessUserAction 授权并应用通过 WebSocket 通道收到的任何操作。

uses
  sgcHTML_Component_UserManagement;

var
  oUsers: TsgcHTMLComponent_UserManagement;
  oUser: TsgcHTMLUser;
begin
  oUsers := TsgcHTMLComponent_UserManagement.Create(nil);
  try
    oUsers.TableID := 'users';
    oUsers.AllowImpersonate := True;
    oUsers.AllowDelete := True;

    oUser := oUsers.AddUser('u1', 'ana.torres', 'ana@example.com');
    oUser.DisplayName := 'Ana Torres';
    oUser.Roles := 'admin,editor';
    oUser.Status := usActive;
    oUser.LastLogin := '2026-07-15 09:12';

    oUsers.AddUser('u2', 'marc.bell', 'marc@example.com').Status := usInvited;

    WebModule.Response := oUsers.HTML;   // toolbar + table + inline script
  finally
    oUsers.Free;
  end;
end;

// Server-side handler for an action received over WebSockets.
// ALWAYS verify the acting user is authorized before applying it:
oUsers.ProcessUserAction('userDisable', 'u2');
// includes: sgcHTML_Component_UserManagement.hpp

TsgcHTMLComponent_UserManagement *oUsers = new TsgcHTMLComponent_UserManagement(NULL);
try
{
  oUsers->TableID = "users";
  oUsers->AllowImpersonate = true;
  oUsers->AllowDelete = true;

  TsgcHTMLUser *oUser = oUsers->AddUser("u1", "ana.torres", "ana@example.com");
  oUser->DisplayName = "Ana Torres";
  oUser->Roles = "admin,editor";
  oUser->Status = usActive;
  oUser->LastLogin = "2026-07-15 09:12";

  oUsers->AddUser("u2", "marc.bell", "marc@example.com")->Status = usInvited;

  String html = oUsers->HTML;   // toolbar + table + inline script

  // Server-side handler for an action received over WebSockets:
  oUsers->ProcessUserAction("userDisable", "u2");
}
__finally
{
  delete oUsers;
}
using esegece.sgcWebSockets;

var users = new TsgcHTMLComponent_UserManagement();
users.TableID = "users";
users.AllowImpersonate = true;
users.AllowDelete = true;

var user = users.AddUser("u1", "ana.torres", "ana@example.com");
user.DisplayName = "Ana Torres";
user.Roles = "admin,editor";
user.Status = TsgcHTMLUserStatus.usActive;
user.LastLogin = "2026-07-15 09:12";

users.AddUser("u2", "marc.bell", "marc@example.com").Status = TsgcHTMLUserStatus.usInvited;

string html = users.HTML;   // toolbar + table + inline script

// Server-side handler for an action received over WebSockets.
// ALWAYS verify the acting user is authorized before applying it:
users.ProcessUserAction("userDisable", "u2");

关键属性与方法

您最常使用的成员。

添加用户

AddUser(aId, aUserName, aEmail) 追加一行并返回 TsgcHTMLUser,以便您设置 DisplayNameRolesStatusLastLoginAvatarURL

数据集绑定

LoadFromDataSet(aDataSet, aIdField, aUserNameField, aEmailField, aRolesField, aStatusField) 填充表格,并记住映射关系以便后续刷新。

状态与角色

TsgcHTMLUserStatususActiveusInvitedusSuspendedusDisabled — 渲染为彩色徽章;Roles 是一个以逗号分隔的列表,渲染为多个徽章。

行操作

每行的下拉菜单都提供编辑 / 禁用-启用 / 重置密码;AllowImpersonateAllowDelete 添加更敏感的操作。

工具栏与列

ShowSearchShowAddButton(配合 AddCaption / SearchPlaceholder)控制工具栏;ShowRolesShowStatusShowLastLoginShowActionsPageSize 控制表格。

安全性

每个操作都以 JSON 形式从客户端传输到服务器(并触发 sgcUserManagement:action)。只有在宿主程序验证操作用户有权执行该操作之后,才能运行 ProcessUserAction

继续探索

在线帮助此组件的完整 API 参考和使用指南。
所有 sgcHTML 组件浏览 80 多个组件的完整功能矩阵。
下载免费试用版30 天试用版附带 60.HTML 演示项目。
价格Single、Team 和 Site 授权,均含完整源代码。

准备好开始了吗?

下载免费试用版,为您的 Delphi、C++ Builder 或 .NET 管理面板添加用户管理表格。