Merhabalar Söyler bir senaryom var bur seneryo da database tablolarını nasıl oluştura bilirim.

Üniversitemizde fakültelerin ve fakültelere ait alt bölümlerin siteleri bulunmaktadır.

Yazacağımız admin panelinde bir kullanıcı birden çok fakülte yada fakültenin alt bölümlerinde çeşitli yetkilere sahipdir.

Mesala muratdogan kullanıcısı Tarih , Matemetik, Edebiyat bölümlerinde yetkileri olacak ama - tarih kısmnda sadece sitede haber ekleme ,silme, güncelleme -Mat kısmında haber ,duyuru ekleme ,silme, güncelleme olcacak, -Edebiyat ise slider,site yönetimi, haber , duyuru, ekleme ,silme, güncelleme

Kullanıcı sisteme girdiğinde hangi siteye giriş yapmak isterse ona ait yetkileri nasıl tasarlarız ve getiririz. hocam yardımcı olur musunuz, Ayrıca haber duyuru gibi bazı modullere girilen bilgiler de o siteye ait yöneticilerin onayına sunulacak ve onlar onayladıktan sonra sitede yayınlanacak bu kurgunun veri tabanı nasıl olur hocam ben yeni öğreniyorumda yardımcı olur musunuz

soruldu: 09 Ağu '15, 06:19

murat0058's gravatar image

murat0058
0445
cevap kabul oranı: 0%


Öncelikle herhangi bir dil belirtmemişsin. Ben Java ile geliştireceğini varsayarak bir kaç öneride bulunayım. İlk istediğin authentication ve authorization işlemleri için tasarlanmış bir framework kullanabilirsin. Ben Spring Security kullanıyorum ve tavsiye ederim. Spring Security ile kullanıcılar için rol tanımlayabilirsin.Bu rollere göre sayfalarda belirli şeyleri gösterip göstermeyebilir,link yönetimi yapabilir ve fonksiyon bazında da kısıtlama yapabilirsin.Ayrıca her rolünde bazı izinleri olmasını istiyorsun. Bunun içinde anahtar kelimemiz "custom permission" veya "custom rights". Hem veritabanı dizaynı hemde custom permission implementasyonu için şu linke göz atabilirsin. Özellikle UserProfile sınıfının getAuthorities() fonksiyonunu bu izinlerle direk ilgili.

İkinci soruna göre de bazı haklar verilmiş kişilerin yayınlamak istediği haber,duyuru gibi gönderilerin yönetici onayı ile yayınlanmasını istemişsin. Bunu da aslında çok basit bir veritabanı değişikliği ile yapabilirsin. Haber veya duyuru bilgilerini tutan tablolarında ekstra bir "durum" kolonu açarsın. Eğer sadece oluşturma yetkisi verilmiş birisi haber veya duyuru oluşturursa durum kolonumuz 5 değerini alır. Yönetici tarafında login olunduğunda durum kolonu 5 olanlar listelenir. Yönetici yayınla dediğinde de "durum" 1 olur. Böylece ön tarafta da durum kolonu 1 olanlar gösterilir.

Umarım işine yarar.Kolay gelsin.

permanent link

cevaplandı: 09 Ağu '15, 11:17

ugurcanlacin's gravatar image

ugurcanlacin
816101625
cevap kabul oranı: 11%

Tabloları soldan sağa parent - child şeklinde yazıyorum. Yeni satır farklı bir kol demek.

Fakülteler > Bölümler.

Kullanıcılar(burda bir sütunda yetkileri enum olarak tutabilirsin şöyle ki; 0,1,3,5,7 şeklinde)

Duyurular(onaylandı şeklinde bir BIT veya BOOL sütun içermeli)

Dolayısıyla 3 farklı kol olmalı. Kullanıcıları bölümlerin altına da alabilirsin ama birden çok bölümde yetkileri olucağı için doğru bir yöntem olmaz.

Duyurular gene bölümün altında olabilir gibi düşünülebilir ama fakülte bazında duyuru yapılmak istendiği zaman buna izin vermez dolayısıyla ayrı bir koldan ilerletmek daha doğru olur.

Yetkileri biraz daha açıklamam gerekirse, dil tarafında

enum Roles{
    Admin = 0,
    Editor = 1,
    Co-Admin = 2,
    Semi-Admin = 3,
    Member = 4
    }

şeklinde tanımlarsan yukardaki gibi veritabanına kaydedebilirsin.

permanent link

cevaplandı: 09 Ağu '15, 11:56

ArnesTwin's gravatar image

ArnesTwin
1.1k1511
cevap kabul oranı: 14%

değiştirildi: 09 Ağu '15, 11:59

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×81

Soruldu: 09 Ağu '15, 06:19

Görüntüleme: 412 kez

Son güncelleme: 09 Ağu '15, 11:59

powered by BitNami OSQA