RoleManager API
RoleManager
RoleManager menyediakan antara muka untuk menentukan operasi menguruskan peranan. Penambahan fungsi padanan kepada RoleManager membolehkan penggunaan wildcard dalam nama peranan dan domain.
AddNamedMatchingFunc()
Fungsi AddNamedMatchingFunc
menambahkan MatchingFunc
mengikut Ptype kepada RoleManager. MatchingFunc
akan digunakan semasa melakukan pemadanan peranan.
- Go
- Node.js
e.AddNamedMatchingFunc("g", "", util.KeyMatch)
_, _ = e.AddGroupingPolicies([][]string{{"*", "admin", "domain1"}})
_, _ = e.GetRoleManager().HasLink("bob", "admin", "domain1") // -> true, nil
await e.addNamedMatchingFunc('g', Util.keyMatchFunc);
await e.addGroupingPolicies([['*', 'admin', 'domain1']]);
await e.getRoleManager().hasLink('bob', 'admin', 'domain1');
Contohnya:
- Go
- Node.js
e, _ := casbin.NewEnforcer("path/to/model", "path/to/policy")
e.AddNamedMatchingFunc("g", "", util.MatchKey)
const e = await newEnforcer('path/to/model', 'path/to/policy');
await e.addNamedMatchingFunc('g', Util.keyMatchFunc);
AddNamedDomainMatchingFunc()
Fungsi AddNamedDomainMatchingFunc
menambahkan MatchingFunc
mengikut Ptype kepada RoleManager. DomainMatchingFunc
adalah serupa dengan MatchingFunc
yang disenaraikan di atas.
Contohnya:
- Go
- Node.js
e, _ := casbin.NewEnforcer("path/to/model", "path/to/policy")
e.AddNamedDomainMatchingFunc("g", "", util.MatchKey)
const e = await newEnforcer('path/to/model', 'path/to/policy');
await e.addNamedDomainMatchingFunc('g', Util.keyMatchFunc);
GetRoleManager()
Fungsi GetRoleManager
mendapatkan pengurus peranan semasa untuk g
.
Contohnya:
- Go
- Node.js
- Python
rm := e.GetRoleManager()
const rm = await e.getRoleManager();
rm = e.get_role_manager()
GetNamedRoleManager()
Fungsi GetNamedRoleManager
mendapatkan pengurus peranan berdasarkan Ptype bernama.
Contohnya:
- Go
- Node.js
- Python
rm := e.GetNamedRoleManager("g2")
const rm = await e.getNamedRoleManager("g2");
rm = e.get_named_role_manager("g2")
SetRoleManager()
Fungsi SetRoleManager
menetapkan pengurus peranan semasa untuk g
.
Contohnya:
- Go
- Node.js
- Python
e.SetRoleManager(rm)
e.setRoleManager(rm);
rm = e.set_role_manager(rm)
SetNamedRoleManager()
Fungsi SetNamedRoleManager
menetapkan pengurus peranan berdasarkan Ptype bernama.
Contohnya:
- Go
- Python
rm := e.SetNamedRoleManager("g2", rm)
rm = e.set_role_manager("g2", rm)
Clear()
Fungsi Clear
menghapus semua data yang disimpan dan menetapkan pengurus peranan ke keadaan awalnya.
Contohnya:
- Go
- Node.js
- Python
rm.Clear()
await rm.clear();
rm.clear()
AddLink()
AddLink menambahkan hubungan warisan antara dua peranan. peranan: nama1 dan peranan: nama2. Domain adalah awalan kepada peranan (boleh digunakan untuk tujuan lain).
Contohnya:
- Go
- Node.js
- Python
rm.AddLink("u1", "g1", "domain1")
await rm.addLink('u1', 'g1', 'domain1');
rm.add_link("u1", "g1", "domain1")
DeleteLink()
DeleteLink menghapus hubungan warisan antara dua peranan. peranan: nama1 dan peranan: nama2. Domain ialah awalan kepada peranan (boleh digunakan untuk tujuan lain).
Contohnya:
- Go
- Node.js
- Python
rm.DeleteLink("u1", "g1", "domain1")
await rm.deleteLink('u1', 'g1', 'domain1');
rm.delete_link("u1", "g1", "domain1")
HasLink()
HasLink menentukan sama ada terdapat pautan antara dua peranan. peranan: nama1 mewarisi peranan: nama2. Domain ialah awalan kepada peranan (boleh digunakan untuk tujuan lain).
Contohnya:
- Go
- Node.js
- Python
rm.HasLink("u1", "g1", "domain1")
await rm.hasLink('u1', 'g1', 'domain1');
rm.has_link("u1", "g1", "domain1")
GetRoles()
GetRoles mendapatkan peranan yang diwarisi oleh pengguna. Domain ialah awalan kepada peranan (boleh digunakan untuk tujuan lain).
Contohnya:
- Go
- Node.js
- Python
rm.GetRoles("u1", "domain1")
await rm.getRoles('u1', 'domain1');
rm.get_roles("u1", "domain")
GetUsers()
GetUsers mendapatkan pengguna yang mewarisi peranan. Domain adalah awalan kepada pengguna (boleh digunakan untuk tujuan lain).
Contohnya:
- Go
- Node.js
- Python
rm.GetUsers("g1")
await rm.getUsers('g1');
rm.get_users("g1")
PrintRoles()
PrintRoles mencetak semua peranan ke log.
Contohnya:
- Go
- Node.js
- Python
rm.PrintRoles()
await rm.printRoles();
rm.print_roles()
SetLogger()
SetLogger menetapkan logger untuk pengurus peranan.
Contohnya:
- Go
logger := log.DefaultLogger{}
logger.EnableLog(true)
rm.SetLogger(&logger)
_ = rm.PrintRoles()
GetDomains()
GetDomains mendapatkan domain yang dimiliki oleh pengguna
Contohnya:
- Go
result, err := rm.GetDomains(name)