เป็นไปได้หรือไม่ที่จะอนุญาตให้เข้าถึงโฟลเดอร์ในเซิร์ฟเวอร์ SVN โดยใช้ API ของ SVN


1

ฉันต้องพัฒนาเว็บแอปพลิเคชัน (ใช้ภาษาใดก็ได้ แต่ฉันคุ้นเคยกับ Frameworks Symfony2 และ Rails) ที่สามารถให้สิทธิ์การเข้าถึงแก่ผู้ใช้ไปยังโฟลเดอร์ที่กำหนดบนเซิร์ฟเวอร์อื่นบนเครือข่ายเดียวกันจากส่วนหน้าของแอปพลิเคชัน

ฉันพบว่า SVN มี API และฉันสามารถโต้ตอบกับ PHP หรือ Ruby (เห็นได้ชัด) ถึงแม้ว่าฉันยินดีที่จะเขียนโปรแกรมประยุกต์ในภาษาอื่นเซิร์ฟเวอร์ที่เก็บไฟล์ใช้ Windows และฉันคิดว่า ใช้เซิร์ฟเวอร์ SVN เสมือน แต่ฉันไม่สามารถหาฟังก์ชั่นใด ๆ บน API เพื่อให้ผู้ใช้สามารถเข้าถึงไฟล์และ / หรือโฟลเดอร์หรือการเข้าถึงใด ๆ เช่นคุณมักจะใช้ GUI (VirtualSVN บน Windows)

ฉันไม่มีอะไรเลยหรือ เป็นไปได้ไหม

คำตอบ:


1

เป็นไปได้ แต่วิธีที่คุณจะต้องทำนั้นขึ้นอยู่กับสิ่งที่คุณใช้ในการให้บริการที่เก็บข้อมูลการโค่นล้มของคุณ การโค่นล้มตัวเองไม่ได้ระบุวิธีการควบคุมการเข้าถึงและทำให้ความกังวลนั้นขึ้นอยู่กับซอฟต์แวร์ที่คุณใช้เพื่อเปิดเผยที่เก็บข้อมูลของคุณไปยังลูกค้าของคุณ

(อันที่จริงแล้วดีกว่าที่จะทำการควบคุมการเข้าถึงภายในการโค่นล้มที่เหมาะสมเพราะมันเป็นแบบแยกส่วนและขยายได้ง่ายกว่านั้นพื้นที่เก็บข้อมูล Subversion ที่ให้บริการผ่าน Apache สามารถมีส่วนร่วมในวิธีการควบคุมการเข้าถึง แผนผังแหล่งที่มาของการโค่นล้ม)

หากคุณให้บริการพื้นที่เก็บข้อมูลของคุณผ่าน Apache หรือผ่านทาง svnserve เครื่องมือที่มาพร้อมกับ Subversion distribution คุณสามารถดูรายละเอียดเกี่ยวกับวิธีกำหนดค่าการควบคุมการเข้าถึง บทที่ 6 จาก การควบคุมเวอร์ชันด้วยการโค่นล้ม ออนไลน์ฟรี มิฉะนั้นศึกษาเอกสารของซอฟต์แวร์เซิร์ฟเวอร์ของคุณสำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีตั้งค่าตัวเลือกการควบคุมการเข้าถึงที่คุณต้องการ

หมายเหตุสุดท้าย: PHP และ Ruby APIs ที่คุณอธิบายเป็นการใช้งานของไคลเอนต์การโค่นล้มซึ่งเกือบจะเป็นประโยชน์ในการพัฒนารหัสแอปพลิเคชันของคุณ แต่จะไม่ทำอะไรเลยเพื่อช่วยคุณทำงานกับการควบคุมการเข้าถึงฝั่งเซิร์ฟเวอร์ ในการนั้นคุณจะต้องหาวิธีที่จะอนุญาตให้รหัสแอปพลิเคชันของคุณปลอดภัยแก้ไขการกำหนดค่าเซิร์ฟเวอร์ที่เก็บข้อมูลของคุณ (dicey) หรือการที่แอปพลิเคชันของคุณทำงานร่วมกับฐานข้อมูลการรับรองความถูกต้อง ใครได้รับอนุญาตให้ไปที่ไหนใน repo และทำอะไร


ขอบคุณมากสำหรับการตอบและชี้แจงให้ฉัน ฉันไม่คิดว่าจะรวมทั้งสองฐานข้อมูลเซิร์ฟเวอร์ SVN ทั้งหมดอนุญาตหรือไม่
Splendonia

@Splendonia ขึ้นอยู่กับความสามารถของซอฟต์แวร์เซิร์ฟเวอร์ ตัวอย่างเช่นโมดูล Apache mod_auth_mysql เปิดใช้งาน Apache เพื่อใช้ฐานข้อมูล MySQL เป็นแบ็กเอนด์การรับรองความถูกต้องซึ่งอาจเป็นวิธีที่ง่ายที่สุดสำหรับจัดการการควบคุมการเข้าถึงจากภายในเว็บแอปพลิเคชัน เซิร์ฟเวอร์ที่เก็บข้อมูลอื่นอาจสนับสนุนหรือไม่สนับสนุนสิ่งที่คล้ายกัน คุณต้องตรวจสอบเอกสารสำหรับซอฟต์แวร์เซิร์ฟเวอร์ของคุณเพื่อดูว่าคุณสามารถทำอะไรได้บ้าง
Aaron Miller

@Splendonia Gladly!
Aaron Miller
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.