Lewati ke konten utama

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.

    e.AddNamedMatchingFunc("g", "", util.KeyMatch)
_, _ = e.AddGroupingPolicies([][]string{{"*", "admin", "domain1"}})
_, _ = e.GetRoleManager().HasLink("bob", "admin", "domain1") // -> true, nil

Contohnya:

    e, _ := casbin.NewEnforcer("path/to/model", "path/to/policy")
e.AddNamedMatchingFunc("g", "", util.MatchKey)

AddNamedDomainMatchingFunc()

Fungsi AddNamedDomainMatchingFunc menambahkan sebuah MatchingFunc berdasarkan Ptype ke RoleManager. DomainMatchingFunc mirip dengan MatchingFunc yang tercantum di atas.

Contohnya:

    e, _ := casbin.NewEnforcer("path/to/model", "path/to/policy")
e.AddNamedDomainMatchingFunc("g", "", util.MatchKey)

GetRoleManager()

Fungsi GetRoleManager mendapatkan manajer peran saat ini untuk g.

Contohnya:

    rm := e.GetRoleManager()

GetNamedRoleManager()

Fungsi GetNamedRoleManager mendapatkan manajer peran berdasarkan Ptype bernama.

Contohnya:

    rm := e.GetNamedRoleManager("g2")

SetRoleManager()

Fungsi SetRoleManager mengatur manajer peran saat ini untuk g.

Contohnya:

    e.SetRoleManager(rm)

SetNamedRoleManager()

Fungsi SetNamedRoleManager mengatur manajer peran berdasarkan Ptype bernama.

Contohnya:

    rm := e.SetNamedRoleManager("g2", rm)

Clear()

Fungsi Clear menghapus semua data yang disimpan dan mengembalikan manajer peran ke keadaan awalnya.

Contohnya:

    rm.Clear()

AddLink menambahkan tautan pewarisan antara dua peran. peran: nama1 dan peran: nama2. Domain adalah awalan untuk peran (dapat digunakan untuk tujuan lain).

Contohnya:

    rm.AddLink("u1", "g1", "domain1")

DeleteLink menghapus tautan pewarisan antara dua peran. peran: nama1 dan peran: nama2. Domain adalah awalan untuk peran (dapat digunakan untuk tujuan lain).

Misalnya:

    rm.DeleteLink("u1", "g1", "domain1")

HasLink menentukan apakah ada tautan antara dua peran. peran: nama1 mewarisi peran: nama2. Domain adalah awalan untuk peran (dapat digunakan untuk tujuan lain).

Misalnya:

    rm.HasLink("u1", "g1", "domain1")

GetRoles()

GetRoles mendapatkan peran yang diwarisi oleh pengguna. Domain adalah awalan untuk peran (dapat digunakan untuk tujuan lain).

Contohnya:

    rm.GetRoles("u1", "domain1")

GetUsers()

GetUsers mengambil pengguna yang mewarisi peran. Domain adalah awalan untuk pengguna (dapat digunakan untuk tujuan lain).

Contohnya:

    rm.GetUsers("g1")

PrintRoles()

PrintRoles mencetak semua peran ke log.

Contohnya:

    rm.PrintRoles()

SetLogger()

SetLogger mengatur logger manajer peran.

Misalnya:

    logger := log.DefaultLogger{}
logger.EnableLog(true)
rm.SetLogger(&logger)
_ = rm.PrintRoles()

GetDomains()

GetDomains mendapatkan domain yang dimiliki oleh pengguna

Misalnya:

    result, err := rm.GetDomains(name)