سؤال

أنا أستخدم SVN (Collabnet Subversion Edge) وسلحفاة SVN لإدارة موقع ويب يتم تحريره من قبل العديد من الأشخاص.

أرغب في الحد من الوصول من قبل بعض المستخدمين إلى بعض الدلائل (لمنعهم من رؤية بيانات اعتماد قاعدة البيانات وما إلى ذلك). أنها تتطلب فقط قراءة الوصول إلى دليل واحد.

هل من الممكن القيام بذلك في SVN؟

شكرًا!

يحرر

يقومون بتشغيل مزيج من XP و Windows 7. الخادم موجود على Windows 2008. البروتوكول المستخدم هو HTTP.

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

المحلول

يمكن تحقيق ذلك باستخدام ملف svnaccess.conf. على افتراض أنك تستخدم مصادقة مجال Windows ، إليك طريقة واحدة لتوفير الوصول على مستوى المجلد لمستخدمي Windows. (قسم عينة من ملف svnaccess.conf)

repo:/trunk/samplefolder

*=

repo_restrination_users = r

repo_super_users = rw

هنا ، repo_restrected_users و repo_super_users هي مجموعات مستخدمين يجب تحديدها مسبقًا في ملف svnaccess.conf - وبالتالي:

repo_restrection_users = john.doe ، tom.riddle

repo_super_users = harry.potter ، lord.voldemort

سيوفر هذا الوصول إلى القراءة إلى عينة المجلد فقط داخل المستودع مع إبقاء المجلدات الأخرى مغلقة. أتمنى أن يساعدك هذا.

نصائح أخرى

يمنحك كتاب SVN الذي يرتبط به Mike نظرة عامة جيدة على طرق المصادقة المتاحة.

إذا كنت على Windows ولا تمانع في تبديل خادم SVN ، خادم VisualSVN هو غلاف SVN/Apache مجاني يمكن تثبيته في غضون دقائق ، ويوفر إدارة مستخدم/الوصول إلى النقر فوق النقر فوق الدماغ. لقد كنت أستخدمه لسنوات وأحبه.

يمكنك أن تفعل ما تريد بطريقة مستقلة منصة عن طريق كتابة ما يسمى خطافًا مسبقًا. يمكنك قراءة المزيد حول السنانير في كتاب SVN. في الأساس ، ستحصل على اسم المستخدم وموقع الدليل للتحديثات ، ولديك القدرة على تحديد ما إذا كان سيتم قبول المعاملة أم لا.

تم العثور على مثال جيد على ذلك هذا الموقع. في الأساس ، سترغب في استخدام البرنامج النصي الالتزام-السيطرة, ، الذي يتم تعبئته مع التخريب ، لإجراء فحص الإذن لك. كل ما عليك فعله هو كتابة ملف تكوين بسيط يصف المكان الذي يمكن للأشخاص أن يكتبوا وقراءته.

إذا كنت تستخدم HTTP مع Apache ، فيمكنك استخدام وحدة Authz_SVN Apache هنا في الكتاب.

إذا كانوا بحاجة إلى دليل واحد ، أعتقد أن الأسهل هو إنشاء مستودع آخر / آخر لذلك ، بما في ذلك svn:externals في المشروع "الرئيسي" (الذي سيظل كذلك svn update قم أيضًا بإحضار التحديثات من المستودع الآخر وما إلى ذلك).

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