Bir Doktor Kütüphanesi'nde Temiz belge rolleri

oy
2

Ben MOSS bir belge kitaplığının yeni öğenin RolesAssignments temizlemek için bir olay işleyicisi geliştirmekteyiz. En iyi yolu ben RolesAssignments döngü olacak ve tek tek silmek için dikişleri bulundu rağmen, verimli bütün RolesAssignments temiz olabilir bir yöntem aradık? Bir öğe için tüm RolesAssignments temizlemek için başka bir yolu var mı?

Ben RolesAssignments temizlenmesi için kullanıyorum kod şuna benzer:

    for (int i = ListItem.RoleAssignments.Count - 1; i >= 0; --i)
    { 
        ListItem.RoleAssignments.Remove(i); 
    }

herkes bu başa konusunda herhangi bir fikir var mı?

Oluştur 09/12/2008 saat 15:48
kaynak kullanıcı
Diğer dillerde...                            


3 cevaplar

oy
2

Sorunuza bünyesinde verdiğim örnek bunun en doğru yoldur. ResetRoleInheritance ve BreakRoleInheritance neye ihtiyacınız yapmak olabilir, ama bu yaptıkları operasyonların yan etkisidir. Bunların amacı RoleAssignments kaldırmaz, fakat rol miras üzerinde işlem değildir. MSDN:

ResetRoleInheritance - "Yerel rol atamaları kaldırır ve üst nesneden rol atamalarını geri döner."

BreakRoleInheritance - "yerine bir ebeveynden onları miras daha öğe için benzersiz bir rol atamalarını oluşturur."

Rol miras zaten bozuldu ve belirli rol atamalarını kullanıyorsanız size söz konusu olduğu gibi, bir döngü kullanarak onları kaldırmanız gerekir.

Cevap 09/12/2008 saat 20:04
kaynak kullanıcı

oy
1

Ben rol atamalarını rolü devralma kırmak ve kaldırmak için (yanlış) özelliklerinin araştırılması SPListItem.BreakRoleInheritance koymak, cevabım var.

Cevap 09/12/2008 saat 18:51
kaynak kullanıcı

oy
-1

Nasıl ResetRoleInheritance hakkında? Bu RoleAssignments tüm temizlemek gerekir.

Cevap 09/12/2008 saat 17:02
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more