zetaops / ulakbus

Ulakbüs - Bütünleşik Üniversite Yönetim Sistemi
http://www.ulakbus.org
GNU General Public License v3.0
102 stars 33 forks source link

Sistem ve kullanici tarafindan uretilen dosyalarin yonetilmesi #5108 #122

Open alirizakeles opened 8 years ago

alirizakeles commented 8 years ago

Riak-cs (3s) servisimizi hem public hem de private dosyalarin sunumu icin kullanacagiz.

Public olarak erisilebilir dosyalarin sunumu Haproxy dolayimi ile 3s uzerinden olacak. Kimlik dogrulamasi ve yetkilendirme gereken dosyalari da app uzerinden 3s'ten okuyup sunacagiz.

Private dosyalarin sunumu sirasinda olusabilecek performans problemlerinin onune gecmek icin sadece dosya isleriyle ilgilenecek containerlar deploy edilecek. Bir subdomain bu containerlara yonlendirilecek. Bu subdomain ile oturum paylasimi yapacagiz.

Model seviyesinde binary field tipimiz olacak. Bu field ozelliklerinden birisi, bu dosyaya erisimin nasil yapilacagini belirleyecek. Private veya public. Yetki ise genel yetkilendirme sistemiyle belirlenecek.

Raporlar gibi model degilde view / servis / zamanlanmis gorev vb sekilde uretilen dosyalara nasil erisilecegi ilgili surecler tarafindan belirlenecek.

3s uzerinde duran her bir dosyanin public veya private ozelligi mutlaka set edilecek. Kullandigimiz bucketlar publicly_read olmayacak. Bucketlar icindeki tek tek ogelerin ozellikleri belirlenecek.

evrenesat commented 8 years ago

Private dosyaların sunumunu Riak CS tarafından da desteklenen S3'ün "pre-signed url" işlevselliği ile çözebiliriz sanırım.
http://docs.basho.com/riakcs/latest/cookbooks/Authentication/ http://boto3.readthedocs.org/en/latest/reference/services/s3.html#S3.Client.generate_presigned_url

alirizakeles commented 8 years ago

RiakCS file type field icin kullanmaya basladik. Yetkilendirme icin karar verip uygulayacagiz.