Langkau ke kandungan utama

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.

    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 MatchingFunc mengikut Ptype kepada RoleManager. DomainMatchingFunc adalah serupa dengan MatchingFunc yang disenaraikan di atas.

Contohnya:

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

GetRoleManager()

Fungsi GetRoleManager mendapatkan pengurus peranan semasa untuk g.

Contohnya:

    rm := e.GetRoleManager()

GetNamedRoleManager()

Fungsi GetNamedRoleManager mendapatkan pengurus peranan berdasarkan Ptype bernama.

Contohnya:

    rm := e.GetNamedRoleManager("g2")

SetRoleManager()

Fungsi SetRoleManager menetapkan pengurus peranan semasa untuk g.

Contohnya:

    e.SetRoleManager(rm)

SetNamedRoleManager()

Fungsi SetNamedRoleManager menetapkan pengurus peranan berdasarkan Ptype bernama.

Contohnya:

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

Clear()

Fungsi Clear menghapus semua data yang disimpan dan menetapkan pengurus peranan ke keadaan awalnya.

Contohnya:

    rm.Clear()

AddLink menambahkan hubungan warisan antara dua peranan. peranan: nama1 dan peranan: nama2. Domain adalah awalan kepada peranan (boleh digunakan untuk tujuan lain).

Contohnya:

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

DeleteLink menghapus hubungan warisan antara dua peranan. peranan: nama1 dan peranan: nama2. Domain ialah awalan kepada peranan (boleh digunakan untuk tujuan lain).

Contohnya:

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

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:

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

GetRoles()

GetRoles mendapatkan peranan yang diwarisi oleh pengguna. Domain ialah awalan kepada peranan (boleh digunakan untuk tujuan lain).

Contohnya:

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

GetUsers()

GetUsers mendapatkan pengguna yang mewarisi peranan. Domain adalah awalan kepada pengguna (boleh digunakan untuk tujuan lain).

Contohnya:

    rm.GetUsers("g1")

PrintRoles()

PrintRoles mencetak semua peranan ke log.

Contohnya:

    rm.PrintRoles()

SetLogger()

SetLogger menetapkan logger untuk pengurus peranan.

Contohnya:

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

GetDomains()

GetDomains mendapatkan domain yang dimiliki oleh pengguna

Contohnya:

    result, err := rm.GetDomains(name)