سؤال

ولقد تم استخدام خادم SharePoint 2003. ولست بحاجة إلى استرداد قائمة الأذونات باستخدام SPList.Permissions.Xml. ولكن أنا لا تجد الأذونات الممنوحة للمستخدم في أي مكان في XML التي تم إرجاعها.

ويقول لدي المستخدم 'A' الذي يأتي كسمة في XML اسم تسجيل الدخول. ولكن الأذونات (مثل View، View&Insert، View&Insert&Delete الخ،).

وأنا لا أريد الأذونات مستوى الموقع كما يمكن استرجاعها باستخدام SPSite.Roles. ولست بحاجة للحصول على أذونات SPList وحدها. أي مساعدة بالتأكيد موضع تقدير (مثلما يليق به !! :))

ملحوظة أن أستخدمه SP 2003 (لا SP2007 حيث RoleAssignments يمكن استخدامها للحصول على هذه التفاصيل)

هل كانت مفيدة؟

المحلول

ذات مرة كتبت رمز مثل هذا:

SPDocumentLibrary source = (SPDocumentLibrary)web.Lists["source"];
SPDocumentLibrary target = (SPDocumentLibrary)web.Lists["target"];
foreach(SPPermission permission in source.Permissions)
{
    try
    {
        target.Permissions.Add(permission.Member, permission.PermissionMask);
    }
    catch { } // "ask rumen for info"
}

وكما يبين كيفية التنقل في جمع الأذونات وكيفية نسخها، وآمل أن يساعد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top