RoleManager API
RoleManager
RoleManager menyediakan antarmuka untuk mendefinisikan operasi untuk mengelola peran. Penambahan fungsi pencocokan ke RoleManager memungkinkan penggunaan wildcard dalam nama peran dan domain.
AddNamedMatchingFunc()
Fungsi AddNamedMatchingFunc
menambahkan sebuah MatchingFunc
berdasarkan Ptype ke RoleManager
. MatchingFunc
akan digunakan ketika melakukan pencocokan peran.
- 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 sebuah MatchingFunc
berdasarkan Ptype ke RoleManager
. DomainMatchingFunc
mirip dengan MatchingFunc
yang tercantum 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 manajer peran saat ini untuk g
.
Contohnya:
- Go
- Node.js
- Python
rm := e.GetRoleManager()
const rm = await e.getRoleManager();
rm = e.get_role_manager()
GetNamedRoleManager()
Fungsi GetNamedRoleManager
mendapatkan manajer peran 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
mengatur manajer peran saat ini untuk g
.
Contohnya:
- Go
- Node.js
- Python
e.SetRoleManager(rm)
e.setRoleManager(rm);
rm = e.set_role_manager(rm)
SetNamedRoleManager()
Fungsi SetNamedRoleManager
mengatur manajer peran 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 mengembalikan manajer peran ke keadaan awalnya.
Contohnya:
- Go
- Node.js
- Python
rm.Clear()
await rm.clear();
rm.clear()
AddLink()
AddLink menambahkan tautan pewarisan antara dua peran. peran: nama1 dan peran: nama2. Domain adalah awalan untuk peran (dapat 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 tautan pewarisan antara dua peran. peran: nama1 dan peran: nama2. Domain adalah awalan untuk peran (dapat digunakan untuk tujuan lain).
Misalnya:
- Go
- Node.js
- Python
rm.DeleteLink("u1", "g1", "domain1")
await rm.deleteLink('u1', 'g1', 'domain1');
rm.delete_link("u1", "g1", "domain1")
HasLink()
HasLink menentukan apakah ada tautan antara dua peran. peran: nama1 mewarisi peran: nama2. Domain adalah awalan untuk peran (dapat digunakan untuk tujuan lain).
Misalnya:
- Go
- Node.js
- Python
rm.HasLink("u1", "g1", "domain1")
await rm.hasLink('u1', 'g1', 'domain1');
rm.has_link("u1", "g1", "domain1")
GetRoles()
GetRoles mendapatkan peran yang diwarisi oleh pengguna. Domain adalah awalan untuk peran (dapat 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 mengambil pengguna yang mewarisi peran. Domain adalah awalan untuk pengguna (dapat digunakan untuk tujuan lain).
Contohnya:
- Go
- Node.js
- Python
rm.GetUsers("g1")
await rm.getUsers('g1');
rm.get_users("g1")
PrintRoles()
PrintRoles mencetak semua peran ke log.
Contohnya:
- Go
- Node.js
- Python
rm.PrintRoles()
await rm.printRoles();
rm.print_roles()
SetLogger()
SetLogger mengatur logger manajer peran.
Misalnya:
- Go
logger := log.DefaultLogger{}
logger.EnableLog(true)
rm.SetLogger(&logger)
_ = rm.PrintRoles()
GetDomains()
GetDomains mendapatkan domain yang dimiliki oleh pengguna
Misalnya:
- Go
result, err := rm.GetDomains(name)