Kullanıcı Yetkilerini Paylaşma ( GEODI → APP)
Geodi Feed API - Besleme Yöntemi (APP → GEODI ) veya Geodi Feed API - Uygulama Servisleri ile Entegrasyon Yöntemi ( GEODI → APP) yöntemlerinden biri ile besleme yapan web uygulaması iseniz ihtiyaç halinde yetki/rol bilgilerini paylaşmak için bu servisi gerçekleyebilirsiniz
Açıklama | Opsiyonel bir servistir. Gerçeklenmesi zorunlu değildir. FeedApi için sağlanan Permission tanımları LDAP grup/kullanıcı Sid değerleri ise gerçeklenmesi gerekmez. Sadece GEODI/Settings/RoleProvider altına tanımlanmış adresler için istek yapılır. Sadece bu adrese erişebilen bir sistem yöneticisi bu tanımı ekleyebilir. Bu klasörde örnek içerikler bulunmaktadır. Eğer FeedApi için özel yetkilendirme kullanıyorsanız size GEODI Token sağlayan sistem yöneticisine Role/Yetki servisinizin adresini vererek buraya tanımlanmasını isteyiniz. Aynı parametreleri alan ve aynı nesneyi dönen bir .net soap api hazırlanmışsa metod üzerine |
|---|---|
İstek | [ServiceURL]?m=GetRoles&user={username} ServiceURL içerisine {user} veya {username} ifadeleri kullanılabilir. {user}, {username} ifadeleri kullanılmasa dahi Http Header içeriğinde request-user ve request-username bilgileri iletilir.
|
HttpMethod | GET |
Beklenen Hatalar | 401 Unauthorized access / Access denied 403 Forbidden 511 Network Authentication Required |
Örnek GEODI ayar dosyası | {
DisplayName:"Sample Role Provider",
__type: "Factory.ActionFactory:ServerBasedRoleProvider",
ServiceURL: "http(s)://myhost/GetRoleService.ashx?user={user}&username={username}",
GEODIRequestHeader:"GEODI_Request",
ActionTargets: "*"
} |
Beklenen Sonuç | {
Roles: []
}
Rol1,Rol2,group:GeodiGroupName/ID,....veya GEODI 6.1.0.21248 ve üzeri için kuralda iletilebilir. {
Roles: [],
OnlyDenyCheck:[],
Conditions:[],
Groups:[]
}
|
Örnekler | //Request : [ServiceURL]?m=GetRoles&user=ldap:domain\user.name
{
Roles: [ 'S-151...','Yönetici','Doküman1']
}
//Request : [ServiceURL]?m=GetRoles&user=ldap:domain\user.name
S-151...,Yönetici,Doküman1
GEODI 6.1.0.21248 ve üzeri için kural Örneği //Request : [ServiceURL]?m=GetRoles&user=ldap:domain\user.name
{
Roles: [ 'AllPublic'],
OnlyDenyCheck : [ 'CantSeeIfSecret']
Conditions: [ '(Rol1,Rol2) and (Cat1,Cat2) and -(T1)'],
}
//Bu kullnaıcı
//Permit değeri AllPublic içeren tüm dokümanları görür. Deny AllPublic içeren dokümanları göremez. Bu sonucu Condition tanımı değiştiremez.
//Deny tanımı CantSeeIfSecret içeren dokümanları göremez. Bu sonucu Condition veya Roles tanımı değiştiremez.
//Permit değeri Rol1 veya Rol2 içeren, aynı zamanda Cat1 veya Cat2 den birini içeren ve T1 rolünü içermeyen dokümanları görebilir.
//// Dikkat : en az 1 tane - kullanılmamış grup kullanılması tavsiye edilir. GEODI tüm rolleri birlikte değerlendirir. -(T1) ifadesi başka bir uygulamadan gelen rolleride kapsar.
|
Örnek Uygulama |