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)