UserManagement
TsgcHTMLComponent_UserManagement — Delphi, C++ Builder 및 .NET에서 아바타, 역할, 상태, 검색 및 행별 작업 드롭다운을 갖춘 사용자 관리 테이블입니다.
TsgcHTMLComponent_UserManagement — Delphi, C++ Builder 및 .NET에서 아바타, 역할, 상태, 검색 및 행별 작업 드롭다운을 갖춘 사용자 관리 테이블입니다.
AddUser로 사용자를 추가하거나(또는 데이터셋을 바인딩하거나), 노출할 열과 행 작업을 선택한 다음, HTML 속성을 읽습니다.
TsgcHTMLComponent_UserManagement
툴바 + Bootstrap 5 표 + 작업 드롭다운
Delphi, C++ Builder, .NET
각 계정에 대해 AddUser를 호출하고, 표를 위해 HTML을 읽은 다음, WebSocket 채널을 통해 수신된 작업을 ProcessUserAction으로 승인하고 적용합니다.
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를 반환하여 DisplayName, Roles, Status, LastLogin 및 AvatarURL을 설정할 수 있게 합니다.
LoadFromDataSet(aDataSet, aIdField, aUserNameField, aEmailField, aRolesField, aStatusField)는 표를 채우고 이후 새로고침을 위해 매핑을 기억합니다.
TsgcHTMLUserStatus — usActive, usInvited, usSuspended, usDisabled — 는 색상 배지로 렌더링됩니다. Roles는 쉼표로 구분된 목록으로, 배지로 렌더링됩니다.
모든 행의 드롭다운은 편집 / 비활성화-활성화 / 비밀번호 재설정을 제공합니다. AllowImpersonate와 AllowDelete는 더 민감한 작업을 추가합니다.
ShowSearch, ShowAddButton(AddCaption / SearchPlaceholder와 함께)이 툴바를 제어합니다. ShowRoles, ShowStatus, ShowLastLogin, ShowActions 및 PageSize가 표를 제어합니다.
모든 작업은 클라이언트에서 서버로 JSON 형태로 전달됩니다(그리고 sgcUserManagement:action을 발생시킵니다). ProcessUserAction은 호스트가 해당 작업에 대해 사용자가 권한이 있는지 확인한 후에만 실행해야 합니다.