Roller ve rol izinlerini ayrı olarak oluşturarak yüzlerce farklı rol ve yetki oluşturabilirsiniz.
her üyenin bir roleId'si olur. bunlar rol tablosunda tanımlanır. alıcı, satıcı, kıdemli satıcı, yeni üye, kısıtlı üye, özel satıcı vs vs. iş modelinize göre ne kadar şey varsa.
oluşturduğunuz her bir fonksiyonu yazdığınız bir tablo daha olmalı. alış yapmak, sepete eklemek, fiyat teklifi vermek, zam yapmak, indirim yapmak, vs vs. yine iş modelinize göre yüzlerce fonksiyonunuz olabilir.
sonra roller ile izinleri map'lediğiniz başka bir tablo olur. onun örnek görüntüsü şöyle olur. ilk sütün yazdığınız fonksiyonlar, ikincisi ise belirlediğiniz roller.
permId___RoleId
1___________1
1___________2
1___________3
2___________2
gibi
sizin yapacağınız işte böyle bir yapıya ihtiyaç duyulmuyorsa IsSeller diye bir alan ekleyip true/false diyebilirsiniz kolayca.
yine de, eğer isterseniz satıcı ve alıcıyı ayrı tablolar halinde tutabilirsiniz. ancak şimdi alıcı olan kişi satıcı da olmak isterse farklı bir üyelik almak zorunda kalır. bir de aynı mail ile hem satıcı hem de alıcı olarak kayıt olabilir kişi, bu durumda giriş yaparken hangi tabloya bakacağınızı düşünmeniz gerekir. alıcı için ayrı, satıcı için ayrı yapmanız gerekir bir çok şeyi -ki gereksiz olur.