RoleManager API
RoleManager
RoleManager, roller yönetmek için işlemleri tanımlamaya yönelik bir arayüz sağlar. RoleManager'a eşleştirme fonksiyonunun eklenmesi, rol adlarında ve alanlarda joker karakterlerin kullanılmasına olanak tanır.
AddNamedMatchingFunc()
AddNamedMatchingFunc
fonksiyonu, bir MatchingFunc
'ı Ptype'a göre RoleManager'a ekler. MatchingFunc
, rol eşleştirme yapılırken kullanılacaktır.
- 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');
Örneğin:
- 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()
AddNamedDomainMatchingFunc
fonksiyonu, bir MatchingFunc
'ı Ptype'a göre RoleManager'a ekler. DomainMatchingFunc
, yukarıda listelenen MatchingFunc
'a benzer.
Örneğin:
- 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()
GetRoleManager
fonksiyonu, g
için mevcut rol yöneticisini alır.
Örneğin:
- Go
- Node.js
- Python
rm := e.GetRoleManager()
const rm = await e.getRoleManager();
rm = e.get_role_manager()
GetNamedRoleManager()
GetNamedRoleManager
fonksiyonu, adlandırılmış Ptype'a göre rol yöneticisini alır.
Örneğin:
- Go
- Node.js
- Python
rm := e.GetNamedRoleManager("g2")
const rm = await e.getNamedRoleManager("g2");
rm = e.get_named_role_manager("g2")
SetRoleManager()
SetRoleManager
fonksiyonu, g
için mevcut rol yöneticisini ayarlar.
Örneğin:
- Go
- Node.js
- Python
e.SetRoleManager(rm)
e.setRoleManager(rm);
rm = e.set_role_manager(rm)
SetNamedRoleManager()
SetNamedRoleManager
fonksiyonu, adlandırılmış Ptype'a göre rol yöneticisini ayarlar.
Örneğin:
- Go
- Python
rm := e.SetNamedRoleManager("g2", rm)
rm = e.set_role_manager("g2", rm)
Clear()
Clear
fonksiyonu, tüm saklanan verileri temizler ve rol yöneticisini başlangıç durumuna sıfırlar.
Örneğin:
- Go
- Node.js
- Python
rm.Clear()
await rm.clear();
rm.clear()
AddLink()
AddLink, iki rol arasındaki miras bağını ekler. rol: name1 ve rol: name2. Domain, rollerin önüne eklenen bir önek (diğer amaçlar için kullanılabilir).
Örneğin:
- Go
- Node.js
- Python
rm.AddLink("u1", "g1", "domain1")
await rm.addLink('u1', 'g1', 'domain1');
rm.add_link("u1", "g1", "domain1")
DeleteLink()
DeleteLink, iki rol arasındaki miras bağını siler. rol: name1 ve rol: name2. Alan, rollerin ön ekidir (diğer amaçlar için de kullanılabilir).
Örneğin:
- Go
- Node.js
- Python
rm.DeleteLink("u1", "g1", "domain1")
await rm.deleteLink('u1', 'g1', 'domain1');
rm.delete_link("u1", "g1", "domain1")
HasLink()
HasLink, iki rol arasında bir bağlantının olup olmadığını belirler. rol: isim1 rol: isim2'yi miras alır. Alan, rollerin ön ekidir (diğer amaçlar için de kullanılabilir).
Örneğin:
- Go
- Node.js
- Python
rm.HasLink("u1", "g1", "domain1")
await rm.hasLink('u1', 'g1', 'domain1');
rm.has_link("u1", "g1", "domain1")
GetRoles()
GetRoles, bir kullanıcının miras aldığı rolleri alır. Alan, rollerin ön ekidir (diğer amaçlar için de kullanılabilir).
Örneğin:
- Go
- Node.js
- Python
rm.GetRoles("u1", "domain1")
await rm.getRoles('u1', 'domain1');
rm.get_roles("u1", "domain")
GetUsers()
GetUsers, bir rolü miras alan kullanıcıları alır. Domain, kullanıcılara ön ek olarak eklenir (diğer amaçlar için de kullanılabilir).
Örneğin:
- Go
- Node.js
- Python
rm.GetUsers("g1")
await rm.getUsers('g1');
rm.get_users("g1")
PrintRoles()
PrintRoles, tüm rolleri log'a yazdırır.
Örneğin:
- Go
- Node.js
- Python
rm.PrintRoles()
await rm.printRoles();
rm.print_roles()
SetLogger()
SetLogger, rol yöneticisinin loglayıcısını ayarlar.
Örneğin:
- Go
logger := log.DefaultLogger{}
logger.EnableLog(true)
rm.SetLogger(&logger)
_ = rm.PrintRoles()
GetDomains()
GetDomains, bir kullanıcının sahip olduğu alanları alır
Örneğin:
- Go
result, err := rm.GetDomains(name)