İçeriğe Yönlendir

Karekod ile Dosya Paylaşımı


Ü.Emre Kartal

Recommended Posts

Ü.Emre Kartal

Merhabalar, bazı belgeler için karekod oluşturmak istiyoruz. Lakin bazı ihtiyaçlar doğrultusunda nasıl yapabiliriz, hangisi daha sağlıklı olur çözemedim. 

 

özetlemek gerekirse;

A türü B belgesi 

A türü C belgesi

D türü E belgesi 

gibi aynı türde ve farklı türde belgelerimiz olacak. Hepsinin karekodu farklı olacak ve belgeler revize edilse bile aynı karekod çalışacak. Birde A türü b belgesi açıkken belirli isimi değiştirip diğer dosyaya erişim olmayacak. Yani kimle ne paylaşıldı ise sadece ona erişecek şekilde olmalı. 

 

Websayfamız wordpress tabanlı, arka planda klasörleme yapıp izinleri ayarlarız sitede görünmez diye düşünüyorum. Ancak kod işi ve dosya isim değiştirilince erişme mevzusu net değil. 

 

Fikri olan var mı? 🙂

Yorum bağlantısı
  • 1 ay sonra...
Osman Karasu
(düzenlendi)

Uyku gözlerimden akarken okuduğumu anladığım kadarıyla kafamda şekillenen basit bir uygulamayı örnekledim.

QR code ve dosya isimleri veritabanında bir tabloda tutulur.

 

Create table DosyaPaylasimTipi

(

ID tinyint not null primary key identity(1,1),

Tipi unique nvarchar(150) not null ,

Durum bit not null

)

//Bu tabloda paylaşım tipleri saklanır.

 

create table Uyeler

(

ID int not null primary key identity(1,1),

UyeAdi nvarchar(50) not null ,

TcKimlik unique nvarchar(11) not null ,

)

 

Create table OzelDosyalar

(

ID int not null primary key identity(1,1),

DosyaAdi unique nvarchar(150) not null ,

Dosya nvarchar(150) not null ,

KareKod unique nvarchar(150) not null ,

TipID tinyint not null,     // üstteki tablo ile bağlanır tipleri ordan çeker.

UyeID int not null,  //üyelere bağlanacak ordan veri çekecek

Durum bit not null

)

 

Bu aşamadan sonra gerek kare kod gerekse  dosya adı random olarak atanacak.Yani yazılımı yazan kişi dahil kimse manuel olarak dosya ismi giremeyecek ve değiştiremeyecek.

 

//kodları phpye göre düzenlersiniz.

 

karekod ve dosya adları Guid.NewGuid tarzı methodlarla belirsiz karakter kümesine sahip isimleri olacak.

Oda yetmezse MD5 ve benzeri şifreleme teknikleriyle şifreleyerek te veritabanına kaydedersiniz.

 

 var dosyavarmi = Veritabani.OzelDosyalar.Where(x=> x.UyeID == uyeidisi && x.Durum).ToList();

//eğer varsa alırız dosyaları

if(dosyavarmi.Any())

{

var liste = new DosyaListesi();

foreach(var d in dosyavarmi)

{

liste.DosyaAdi = d.DosyaAdi;

liste.Dosya = d.Dosya;

liste.KareKod = d.KareKod ;

}

return View(liste);

}

else{

return null;

}

 

Boş dönerse html tarafında kontrol ettirip gösterilecek dosya bulunamadığını belirtirsiniz.

 

Hangi üyenin hangi dosyaya bakması gerektiğine veritabanına yapılan sorgu karar verecek ve dönecek sonuca göre klasörlerinizdeki dosya görünecek.

Dosya linkine tıkladığında yerine göre session kullanırsınız ya da popup gösterimi yaparsanız ve ekrana sabitlerseniz aynı anda diğer belgeye erişimi imkansız değil ama zor olabilir.

Dosya ve QR Code isimleri veritabanında tutulacağı için herhangi birinin isim değiştirmesi söz konusu olamaz.Ancak Yönetim panelinden yetkili hesaplar istediği gibi değişiklik yapabilir.Bu da yine sorun teşkil etmez.

 

Örneğinizden anladığım bu yanlış ta bilgilendirmek istemem.

tarihinde Osman Karasu tarafından düzenlendi
  • Beğen 1
  • Teşekkür 1
Yorum bağlantısı
Ü.Emre Kartal
Osman Karasu yazdı:

 

Yanıtınız ve ilginiz için teşekkür ederim. Bu konu ile ilgili olarak dosyaların ve adreslerin hash kodu ile çalışmasını sağladık. 

 

Dosya revize olsa dahi kodlar aynı kaldığı sürece erişim sağlandı. 

 

Bahsettiğiniz şekilde yapılabilir mi bilmiyorum (bu konuda bir eğitimim yok, tamamen kendi çabalarımla edindiğim kadar bilgim var) ama beni aşar, sitenin tabanında işlem yapmaya yetkili değilim. 🙂

 

  • Beğen 1
Yorum bağlantısı
  • Konuyu Görüntüleyenler   0 kullanıcı

    Sayfayı görüntüleyen kayıtlı kullanıcı bulunmuyor.

×
×
  • Yeni Oluştur...