RolesPermissions
TsgcHTMLComponent_RolesPermissions — Delphi, C++ Builder ve .NET'te her hücrede bir onay kutusu, kategori gruplaması ve canlı WebSocket izin güncellemeleriyle bir rol / izin matrisi.
TsgcHTMLComponent_RolesPermissions — Delphi, C++ Builder ve .NET'te her hücrede bir onay kutusu, kategori gruplaması ve canlı WebSocket izin güncellemeleriyle bir rol / izin matrisi.
Roller ve izinler ekleyin, ilk izinleri ayarlayın, ardından HTML özelliğini okuyun. Her onay kutusu değişikliği sunucuya gönderilir; sunucu, uygulamadan önce bunu yetkilendirmelidir.
TsgcHTMLComponent_RolesPermissions
Bootstrap 5 tablo matrisi + satır içi betik
Delphi, C++ Builder, .NET
Matris eksenlerini oluşturmak için AddRole ve AddPermission'ı, ilk işaretlemeler için SetGrant'ı çağırın, ardından HTML'i okuyun.
uses
sgcHTML_Enums, sgcHTML_Component_RolesPermissions;
var
oMatrix: TsgcHTMLComponent_RolesPermissions;
begin
oMatrix := TsgcHTMLComponent_RolesPermissions.Create(nil);
try
oMatrix.MatrixID := 'acl';
oMatrix.StickyHeader := True;
oMatrix.AddRole('admin', 'Administrator').Color := hcDanger;
oMatrix.AddRole('editor', 'Editor');
oMatrix.AddRole('viewer', 'Viewer');
oMatrix.AddPermission('users.edit', 'Edit users', 'Users');
oMatrix.AddPermission('users.delete', 'Delete users', 'Users');
oMatrix.AddPermission('billing.view', 'View invoices', 'Billing');
oMatrix.SetGrant('admin', 'users.edit', True);
oMatrix.SetGrant('admin', 'users.delete', True);
oMatrix.SetGrant('editor', 'users.edit', True);
WebModule.Response := oMatrix.HTML; // matrix table + inline script
finally
oMatrix.Free;
end;
end;
// Server-side handler for a checkbox toggle received over WebSockets.
// ALWAYS verify the acting user is authorized before applying the change:
oMatrix.ProcessGrantChanged('editor', 'users.delete', True);
// includes: sgcHTML_Enums.hpp, sgcHTML_Component_RolesPermissions.hpp
TsgcHTMLComponent_RolesPermissions *oMatrix = new TsgcHTMLComponent_RolesPermissions(NULL);
try
{
oMatrix->MatrixID = "acl";
oMatrix->StickyHeader = true;
oMatrix->AddRole("admin", "Administrator")->Color = hcDanger;
oMatrix->AddRole("editor", "Editor");
oMatrix->AddRole("viewer", "Viewer");
oMatrix->AddPermission("users.edit", "Edit users", "Users");
oMatrix->AddPermission("users.delete", "Delete users", "Users");
oMatrix->AddPermission("billing.view", "View invoices", "Billing");
oMatrix->SetGrant("admin", "users.edit", true);
oMatrix->SetGrant("admin", "users.delete", true);
oMatrix->SetGrant("editor", "users.edit", true);
String html = oMatrix->HTML; // matrix table + inline script
// Server-side handler for a checkbox toggle (verify authorization first):
oMatrix->ProcessGrantChanged("editor", "users.delete", true);
}
__finally
{
delete oMatrix;
}
using esegece.sgcWebSockets;
var matrix = new TsgcHTMLComponent_RolesPermissions();
matrix.MatrixID = "acl";
matrix.StickyHeader = true;
matrix.AddRole("admin", "Administrator").Color = TsgcHTMLColor.hcDanger;
matrix.AddRole("editor", "Editor");
matrix.AddRole("viewer", "Viewer");
matrix.AddPermission("users.edit", "Edit users", "Users");
matrix.AddPermission("users.delete", "Delete users", "Users");
matrix.AddPermission("billing.view", "View invoices", "Billing");
matrix.SetGrant("admin", "users.edit", true);
matrix.SetGrant("admin", "users.delete", true);
matrix.SetGrant("editor", "users.edit", true);
string html = matrix.HTML; // matrix table + inline script
// Server-side handler for a checkbox toggle (verify authorization first):
matrix.ProcessGrantChanged("editor", "users.delete", true);
En sık başvurduğunuz üyeler.
AddRole(aId, aName) ve AddPermission(aId, aName, aCategory), matris eksenlerini oluşturur; her rol renkli bir rozet, her izin isteğe bağlı bir kategori üstbilgisi alır.
SetGrant(aRoleId, aPermissionId, aGranted) / GetGrant, rol + izin kimliğine göre anahtarlanan işaretli hücreleri okur ve yazar.
LoadRolesFromDataSet, LoadPermissionsFromDataSet ve LoadGrantsFromDataSet, matrisi doğrudan bir TDataSet'ten doldurur.
Her onay kutusu değişikliği, WebSocket kanalı üzerinden bir JSON yükü gönderir ve sgcRolesPermissions:grantChanged DOM olayını tetikler.
ShowDescriptions, ShowCategories, Striped, Bordered, Compact ve StickyHeader (MaxHeight ile), tabloyu biçimlendirir; ReadOnly, her onay kutusunu devre dışı bırakır.
Bu bileşen yalnızca arayüzü işler. ProcessGrantChanged, yalnızca sunucu tarafında, eylemi gerçekleştiren kullanıcının o rol/izin çiftini değiştirmeye yetkili olduğu doğrulandıktan sonra çağrılmalıdır.
| Çevrimiçi yardımBu bileşen için tam API referansı ve kullanım kılavuzu. | Aç | |
| Tüm sgcHTML Bileşenleri80'den fazla bileşenin tam özellik matrisine göz atın. | Aç | |
| Ücretsiz Deneme Sürümünü İndirin30 günlük deneme, 60.HTML demo projeleriyle birlikte gelir. | Aç | |
| FiyatlandırmaTam kaynak kodlu Single, Team ve Site lisansları. | Aç |