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)