Ana içeriğe atla

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.

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

Örneğin:

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

AddNamedDomainMatchingFunc()

AddNamedDomainMatchingFunc fonksiyonu, bir MatchingFunc'ı Ptype'a göre RoleManager'a ekler. DomainMatchingFunc, yukarıda listelenen MatchingFunc'a benzer.

Örneğin:

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

GetRoleManager()

GetRoleManager fonksiyonu, g için mevcut rol yöneticisini alır.

Örneğin:

    rm := e.GetRoleManager()

GetNamedRoleManager()

GetNamedRoleManager fonksiyonu, adlandırılmış Ptype'a göre rol yöneticisini alır.

Örneğin:

    rm := e.GetNamedRoleManager("g2")

SetRoleManager()

SetRoleManager fonksiyonu, g için mevcut rol yöneticisini ayarlar.

Örneğin:

    e.SetRoleManager(rm)

SetNamedRoleManager()

SetNamedRoleManager fonksiyonu, adlandırılmış Ptype'a göre rol yöneticisini ayarlar.

Örneğin:

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

Clear()

Clear fonksiyonu, tüm saklanan verileri temizler ve rol yöneticisini başlangıç durumuna sıfırlar.

Örneğin:

    rm.Clear()

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:

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

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:

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

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:

    rm.HasLink("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:

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

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:

    rm.GetUsers("g1")

PrintRoles()

PrintRoles, tüm rolleri log'a yazdırır.

Örneğin:

    rm.PrintRoles()

SetLogger()

SetLogger, rol yöneticisinin loglayıcısını ayarlar.

Örneğin:

    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:

    result, err := rm.GetDomains(name)