Ana içeriğe atla

Management API

The Management API covers all policy and grouping (role) operations: get, add, remove, update, filter. Below, e is an Enforcer instance.

Filtered API​

Filtered methods take (fieldIndex int, fieldValues ...string): matching starts at fieldIndex, and fieldValues are the required values at consecutive positions. Use "" in fieldValues as a wildcard for that position.

Örnek:

p, alice, book, read
p, bob, book, read
p, bob, book, write
p, alice, pen, get
p, bob, pen ,get
e.GetFilteredPolicy(1, "book") // returns: [["alice", "book", "read"], ["bob", "book", "read"], ["bob", "book", "write"]]

e.GetFilteredPolicy(1, "book", "read") // returns: [["alice", "book", "read"], ["bob", "book", "read"]]

e.GetFilteredPolicy(0, "alice", "", "read") // returns: [[alice book read]]

e.GetFilteredPolicy(0, "alice") // returns: [["alice", "book", "read"], ["alice", "pen", "get"]]

API Reference​

e, err := NewEnforcer("examples/rbac_model.conf", "examples/rbac_policy.csv")

Enforce()​

"Enforce", bir "subject"ın "action" işlemiyle bir "object"a erişip erişemeyeceğine karar verir, genellikle girdi parametreleri şunlardır: (sub, obj, act).

Örneğin:

ok, err := e.Enforce(request)

EnforceWithMatcher()​

EnforceWithMatcher, özel bir eşleştirici kullanarak bir "subject"ın "action" işlemiyle bir "object"a erişip erişemeyeceğine karar verir, genellikle girdi parametreleri şunlardır: (matcher, sub, obj, act), eşleştirici boş olduğunda varsayılan olarak model eşleştirici kullanılır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

ok, err := e.EnforceWithMatcher(matcher, request)

EnforceEx()​

EnforceEx, eşleşen kuralları bildirerek uygulamayı açıklar.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

ok, reason, err := e.EnforceEx(request)

EnforceExWithMatcher()​

EnforceExWithMatcher, özel bir eşleştirici kullanarak ve eşleşen kuralları bildirerek uygulamayı açıklar.

Örneğin:

ok, reason, err := e.EnforceExWithMatcher(matcher, request)

BatchEnforce()​

BatchEnforce her isteği uygular ve sonucu bir bool dizisinde döndürür

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

boolArray, err := e.BatchEnforce(requests)

GetAllSubjects()​

GetAllSubjects, mevcut politikada görünen konuların listesini alır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

allSubjects := e.GetAllSubjects()

GetAllNamedSubjects()​

GetAllNamedSubjects, mevcut adlandırılmış politikada görünen konuların listesini alır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

allNamedSubjects := e.GetAllNamedSubjects("p")

GetAllObjects()​

GetAllObjects, mevcut politikada görünen nesnelerin listesini alır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

allObjects := e.GetAllObjects()

GetAllNamedObjects()​

GetAllNamedObjects, mevcut adlandırılmış politikada görünen nesnelerin listesini alır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

allNamedObjects := e.GetAllNamedObjects("p")

GetAllActions()​

GetAllActions, mevcut politikada görünen eylemlerin listesini alır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

allActions := e.GetAllActions()

GetAllNamedActions()​

GetAllNamedActions, geçerli adlandırılmış politikada görünen eylemlerin listesini alır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

allNamedActions := e.GetAllNamedActions("p")

GetAllRoles()​

GetAllRoles, geçerli politikada görünen rolleri listeler.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

allRoles = e.GetAllRoles()

GetAllNamedRoles()​

GetAllNamedRoles, geçerli adlandırılmış politikada görünen rolleri listeler.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

allNamedRoles := e.GetAllNamedRoles("g")

GetPolicy()​

GetPolicy, politikadaki tüm yetkilendirme kurallarını alır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

policy = e.GetPolicy()

GetFilteredPolicy()​

GetFilteredPolicy, politikadaki tüm yetkilendirme kurallarını alır, alan filtreleri belirtilebilir.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

filteredPolicy := e.GetFilteredPolicy(0, "alice")

GetNamedPolicy()​

GetNamedPolicy, adlandırılmış politikadaki tüm yetkilendirme kurallarını alır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

namedPolicy := e.GetNamedPolicy("p")

GetFilteredNamedPolicy()​

GetFilteredNamedPolicy, adlandırılmış politikadaki tüm yetkilendirme kurallarını alır, alan filtreleri belirtilebilir.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

filteredNamedPolicy = e.GetFilteredNamedPolicy("p", 0, "bob")

GetGroupingPolicy()​

GetGroupingPolicy, politikadaki tüm rol miras kurallarını alır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

groupingPolicy := e.GetGroupingPolicy()

GetFilteredGroupingPolicy()​

GetFilteredGroupingPolicy, politikadaki tüm rol miras kurallarını alır, alan filtreleri belirtilebilir.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

filteredGroupingPolicy := e.GetFilteredGroupingPolicy(0, "alice")

GetNamedGroupingPolicy()​

GetNamedGroupingPolicy, politikadaki tüm rol miras kurallarını alır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

namedGroupingPolicy := e.GetNamedGroupingPolicy("g")

GetFilteredNamedGroupingPolicy()​

GetFilteredNamedGroupingPolicy, politikadaki tüm rol miras kurallarını alır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

namedGroupingPolicy := e.GetFilteredNamedGroupingPolicy("g", 0, "alice")

HasPolicy()​

HasPolicy, bir yetkilendirme kuralının var olup olmadığını belirler.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

hasPolicy := e.HasPolicy("data2_admin", "data2", "read")

HasNamedPolicy()​

HasNamedPolicy, adlandırılmış bir yetkilendirme kuralının var olup olmadığını belirler.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

hasNamedPolicy := e.HasNamedPolicy("p", "data2_admin", "data2", "read")

AddPolicy()​

AddPolicy, mevcut politikaya bir yetkilendirme kuralı ekler. Eğer kural zaten varsa, fonksiyon false döner ve kural eklenmez. Aksi takdirde fonksiyon, yeni kuralı ekleyerek true döner.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

added := e.AddPolicy('eve', 'data3', 'read')

AddPolicies()​

AddPolicies, yetkilendirme kurallarını mevcut politikaya ekler. İşlem, doğası gereği atomiktir. Bu nedenle, yetkilendirme kuralları mevcut politikayla tutarsız olan kurallardan oluşuyorsa, fonksiyon yanlış döner ve hiçbir politikaya kural eklenmez. Eğer tüm yetkilendirme kuralları politikaya uygunsa, fonksiyon doğru döner ve her politikaya kural mevcut politikaya eklenir.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

rules := [][] string {
[]string {"jack", "data4", "read"},
[]string {"katy", "data4", "write"},
[]string {"leyo", "data4", "read"},
[]string {"ham", "data4", "write"},
}

areRulesAdded := e.AddPolicies(rules)

AddPoliciesEx()​

AddPoliciesEx, yetkilendirme kurallarını mevcut politikaya ekler. Eğer kural zaten mevcutsa, kural eklenmez. Ancak AddPolicies'ten farklı olarak, diğer mevcut olmayan kurallar eklenir ve doğrudan false döndürülmez.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

ok, err := e.AddPoliciesEx([][]string{{"user1", "data1", "read"}, {"user2", "data2", "read"}})

AddNamedPolicy()​

AddNamedPolicy, bir yetkilendirme kuralını mevcut adlandırılmış politikaya ekler. Eğer kural zaten varsa, fonksiyon false döner ve kural eklenmez. Aksi takdirde fonksiyon, yeni kuralı ekleyerek true döner.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

added := e.AddNamedPolicy("p", "eve", "data3", "read")

AddNamedPolicies()​

AddNamedPolicies, mevcut adlandırılmış politikaya yetkilendirme kuralları ekler. İşlem, doğası gereği atomiktir. Bu nedenle, yetkilendirme kuralları mevcut politikayla tutarsız olan kurallardan oluşuyorsa, fonksiyon yanlış döner ve hiçbir politikaya kural eklenmez. Eğer tüm yetkilendirme kuralları politikaya uygunsa, fonksiyon doğru döner ve her politikaya kural mevcut politikaya eklenir.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

rules := [][] string {
[]string {"jack", "data4", "read"},
[]string {"katy", "data4", "write"},
[]string {"leyo", "data4", "read"},
[]string {"ham", "data4", "write"},
}

areRulesAdded := e.AddNamedPolicies("p", rules)

AddNamedPoliciesEx()​

AddNamedPoliciesEx, mevcut adlandırılmış politikaya yetkilendirme kuralları ekler. Eğer kural zaten mevcutsa, kural eklenmez. Ancak AddNamedPolicies'ten farklı olarak, diğer mevcut olmayan kurallar eklenir ve doğrudan false dönülmez.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

ok, err := e.AddNamedPoliciesEx("p", [][]string{{"user1", "data1", "read"}, {"user2", "data2", "read"}})

SelfAddPoliciesEx()​

SelfAddPoliciesEx, autoNotifyWatcher devre dışı bırakılarak geçerli adlandırılmış politikaya yetkilendirme kuralları ekler. Eğer kural zaten mevcutsa, kural eklenmez. Ancak SelfAddPolicies'ten farklı olarak, diğer mevcut olmayan kurallar doğrudan false döndürmek yerine eklenir.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

ok, err := e.SelfAddPoliciesEx("p", "p", [][]string{{"user1", "data1", "read"}, {"user2", "data2", "read"}})

RemovePolicy()​

RemovePolicy, mevcut politikadan bir yetkilendirme kuralını kaldırır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

removed := e.RemovePolicy("alice", "data1", "read")

RemovePolicies()​

RemovePolicies, geçerli politikadan yetkilendirme kurallarını kaldırır. İşlem, doğası gereği atomiktir. Bu nedenle, yetkilendirme kuralları mevcut politikayla tutarsız olan kurallardan oluşuyorsa, fonksiyon false döner ve hiçbir politika kuralı mevcut politikadan kaldırılmaz. Eğer tüm yetkilendirme kuralları politikaya uygunsa, fonksiyon true döner ve her bir politikaya ait kural mevcut politikadan kaldırılır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

rules := [][] string {
[]string {"jack", "data4", "read"},
[]string {"katy", "data4", "write"},
[]string {"leyo", "data4", "read"},
[]string {"ham", "data4", "write"},
}

areRulesRemoved := e.RemovePolicies(rules)

RemoveFilteredPolicy()​

RemoveFilteredPolicy, mevcut politikadan bir yetkilendirme kuralını kaldırır, alan filtreleri belirtilebilir. RemovePolicy, mevcut politikadan bir yetkilendirme kuralını kaldırır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

removed := e.RemoveFilteredPolicy(0, "alice", "data1", "read")

RemoveNamedPolicy()​

RemoveNamedPolicy, mevcut adlandırılmış politikadan bir yetkilendirme kuralını kaldırır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

removed := e.RemoveNamedPolicy("p", "alice", "data1", "read")

RemoveNamedPolicies()​

RemoveNamedPolicies, mevcut adlandırılmış politikadan yetkilendirme kurallarını kaldırır. İşlem, doğası gereği atomiktir. Bu nedenle, yetkilendirme kuralları mevcut politikayla tutarsız olan kurallardan oluşuyorsa, fonksiyon false döner ve hiçbir politika kuralı mevcut politikadan kaldırılmaz. Eğer tüm yetkilendirme kuralları politikaya uygunsa, fonksiyon true döner ve her bir politikaya ait kural mevcut politikadan kaldırılır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

rules := [][] string {
[]string {"jack", "data4", "read"},
[]string {"katy", "data4", "write"},
[]string {"leyo", "data4", "read"},
[]string {"ham", "data4", "write"},
}

areRulesRemoved := e.RemoveNamedPolicies("p", rules)

RemoveFilteredNamedPolicy()​

RemoveFilteredNamedPolicy, mevcut adlandırılmış politikadan bir yetkilendirme kuralını kaldırır, alan filtreleri belirtilebilir.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

removed := e.RemoveFilteredNamedPolicy("p", 0, "alice", "data1", "read")

HasGroupingPolicy()​

HasGroupingPolicy, bir rol miras kuralının var olup olmadığını belirler.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

has := e.HasGroupingPolicy("alice", "data2_admin")

HasNamedGroupingPolicy()​

HasNamedGroupingPolicy, adlandırılmış bir rol miras kuralının var olup olmadığını belirler.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

has := e.HasNamedGroupingPolicy("g", "alice", "data2_admin")

AddGroupingPolicy()​

AddGroupingPolicy, mevcut politikaya bir rol miras kuralı ekler. Eğer kural zaten varsa, fonksiyon false döner ve kural eklenmez. Aksi takdirde fonksiyon, yeni kuralı ekleyerek true döner.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

added := e.AddGroupingPolicy("group1", "data2_admin")

AddGroupingPolicies()​

AddGroupingPolicies, rol miras kurallarını mevcut politikaya ekler. İşlem, doğası gereği atomiktir. Bu nedenle, yetkilendirme kuralları mevcut politikayla tutarsız olan kurallardan oluşuyorsa, fonksiyon yanlış döner ve hiçbir politikaya kural eklenmez. Eğer tüm yetkilendirme kuralları politikaya uygunsa, fonksiyon true döner ve her politikaya kural eklenir.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

rules := [][] string {
[]string {"ham", "data4_admin"},
[]string {"jack", "data5_admin"},
}

areRulesAdded := e.AddGroupingPolicies(rules)

AddGroupingPoliciesEx()​

AddGroupingPoliciesEx, rol miras kurallarını mevcut politikaya ekler. Eğer kural zaten mevcutsa, kural eklenmez. Ancak AddGroupingPolicies'ten farklı olarak, diğer mevcut olmayan kurallar doğrudan false döndürmek yerine eklenir.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

ok, err := e.AddGroupingPoliciesEx([][]string{{"user1", "member"}, {"user2", "member"}})

AddNamedGroupingPolicy()​

AddNamedGroupingPolicy, mevcut politikaya adlandırılmış bir rol miras kurallı ekler. Eğer kural zaten varsa, fonksiyon false döner ve kural eklenmez. Aksi takdirde fonksiyon, yeni kuralı ekleyerek true döner.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

added := e.AddNamedGroupingPolicy("g", "group1", "data2_admin")

AddNamedGroupingPolicies()​

AddNamedGroupingPolicies, mevcut politikaya adlandırılmış rol miras kuralları ekler. İşlem, doğası gereği atomiktir. Bu nedenle, yetkilendirme kuralları mevcut politikayla tutarsız olan kurallardan oluşuyorsa, fonksiyon yanlış döner ve hiçbir politikaya kural eklenmez. Eğer tüm yetkilendirme kuralları politikaya uygunsa, fonksiyon doğru döner ve her politikaya kural mevcut politikaya eklenir.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

rules := [][] string {
[]string {"ham", "data4_admin"},
[]string {"jack", "data5_admin"},
}

areRulesAdded := e.AddNamedGroupingPolicies("g", rules)

AddNamedGroupingPoliciesEx()​

AddNamedGroupingPoliciesEx, adlandırılmış rol miras kurallarını mevcut politika için ekler. Eğer kural zaten mevcutsa, kural eklenmez. Ancak AddNamedGroupingPolicies'ten farklı olarak, diğer mevcut olmayan kurallar doğrudan yanlış dönmek yerine eklenir.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

ok, err := e.AddNamedGroupingPoliciesEx("g", [][]string{{"user1", "member"}, {"user2", "member"}})

RemoveGroupingPolicy()​

RemoveGroupingPolicy, bir rol miras kuralını mevcut politikadan kaldırır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

removed := e.RemoveGroupingPolicy("alice", "data2_admin")

RemoveGroupingPolicies()​

RemoveGroupingPolicies, mevcut politikadan rol miras kurallarını kaldırır. İşlem, doğası gereği atomiktir. Bu nedenle, yetkilendirme kuralları mevcut politikayla tutarsız olan kurallardan oluşuyorsa, fonksiyon false döner ve hiçbir politika kuralı mevcut politikadan kaldırılmaz. Eğer tüm yetkilendirme kuralları politikaya uygunsa, fonksiyon true döner ve her bir politikaya ait kural mevcut politikadan kaldırılır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

rules := [][] string {
[]string {"ham", "data4_admin"},
[]string {"jack", "data5_admin"},
}

areRulesRemoved := e.RemoveGroupingPolicies(rules)

RemoveFilteredGroupingPolicy()​

RemoveFilteredGroupingPolicy, mevcut politikadan bir rol miras kuralını kaldırır, alan filtreleri belirtilebilir.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

removed := e.RemoveFilteredGroupingPolicy(0, "alice")

RemoveNamedGroupingPolicy()​

RemoveNamedGroupingPolicy, mevcut adlandırılmış politikadan bir rol kalıtım kuralını kaldırır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

removed := e.RemoveNamedGroupingPolicy("g", "alice")

RemoveNamedGroupingPolicies()​

RemoveNamedGroupingPolicies, mevcut politikadan adlandırılmış rol kalıtım kurallarını kaldırır. İşlem, doğası gereği atomiktir. Bu nedenle, yetkilendirme kuralları mevcut politikayla tutarsız olan kurallardan oluşuyorsa, fonksiyon false döner ve hiçbir politika kuralı mevcut politikadan kaldırılmaz. Eğer tüm yetkilendirme kuralları politikaya uygunsa, fonksiyon true döner ve her bir politikaya ait kural mevcut politikadan kaldırılır.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

rules := [][] string {
[]string {"ham", "data4_admin"},
[]string {"jack", "data5_admin"},
}

areRulesRemoved := e.RemoveNamedGroupingPolicies("g", rules)

RemoveFilteredNamedGroupingPolicy()​

RemoveFilteredNamedGroupingPolicy, mevcut adlandırılmış politikadan bir rol miras kuralını kaldırır, alan filtreleri belirtilebilir.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

removed := e.RemoveFilteredNamedGroupingPolicy("g", 0, "alice")

UpdatePolicy()​

UpdatePolicy, eski bir politikayı yeni bir politika olarak günceller.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

updated, err := e.UpdatePolicy([]string{"eve", "data3", "read"}, []string{"eve", "data3", "write"})

UpdatePolicies()​

UpdatePolicies, tüm eski politikaları yeni politikalara günceller.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

updated, err := e.UpdatePolicies([][]string{{"eve", "data3", "read"}, {"jack", "data3", "read"}}, [][]string{{"eve", "data3", "write"}, {"jack", "data3", "write"}})

UpdateNamedPolicy()​

UpdateNamedPolicy update a old policy to new policy in the named policy.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

updated, err := e.UpdateNamedPolicy("p", []string{"eve", "data3", "read"}, []string{"eve", "data3", "write"})

UpdateNamedPolicies()​

UpdateNamedPolicies updates all old policies to new policies in the named policy.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

updated, err := e.UpdateNamedPolicies("p", [][]string{{"eve", "data3", "read"}, {"jack", "data3", "read"}}, [][]string{{"eve", "data3", "write"}, {"jack", "data3", "write"}})

UpdateFilteredPolicies()​

UpdateFilteredPolicies updates all old policies that match the filter to new policies.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

updated, err := e.UpdateFilteredPolicies([][]string{{"eve", "data3", "write"}}, 0, "eve", "data3", "read")

AddFunction()​

AddFunction, özelleştirilmiş bir fonksiyon ekler.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

func CustomFunction(key1 string, key2 string) bool {
if key1 == "/alice_data2/myid/using/res_id" && key2 == "/alice_data/:resource" {
return true
} else if key1 == "/alice_data2/myid/using/res_id" && key2 == "/alice_data2/:id/using/:resId" {
return true
} else {
return false
}
}

func CustomFunctionWrapper(args ...interface{}) (interface{}, error) {
key1 := args[0].(string)
key2 := args[1].(string)

return bool(CustomFunction(key1, key2)), nil
}

e.AddFunction("keyMatchCustom", CustomFunctionWrapper)

LoadFilteredPolicy()​

LoadFilteredPolicy, filtrelenmiş politikaları dosya/veritabanından yükler.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

err := e.LoadFilteredPolicy()

LoadIncrementalFilteredPolicy()​

LoadIncrementalFilteredPolicy, dosya/veritabanından filtrelenmiş bir politika ekler.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

err := e.LoadIncrementalFilteredPolicy()

UpdateGroupingPolicy()​

UpdateGroupingPolicy, g bölümündeki oldRule'u newRule ile günceller.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

succeed, err : = e.UpdateGroupingPolicy([]string{"data3_admin", "data4_admin"}, []string{"admin", "data4_admin"})

UpdateNamedGroupingPolicy()​

UpdateNamedGroupingPolicy, eski ptype adlı kuralı g bölümünde yeniRule olarak günceller.

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

succeed, err : = e.UpdateGroupingPolicy("g1",[]string{"data3_admin", "data4_admin"}, []string{"admin", "data4_admin"})

SetFieldIndex()​

SetFieldIndex, sub, obj, domain ve priority için geleneksel ad ve pozisyonun özelleştirilmesini destekler.

[policy_definition]
p = customized_priority, obj, act, eft, subject

GetImplicitUsersForResource, kaynağa göre örtülü kullanıcı döndürür.

e.SetFieldIndex("p", constant.PriorityIndex, 0)
e.SetFieldIndex("p", constant.SubjectIndex, 4)