PDA

View Full Version : سطح دسترسی منوها



sam166
سه شنبه 25 بهمن 1390, 18:21 عصر
سلام و خسته نباشید
من داخل سایتم 3 تا سطح دسترسی دارم
و تونستم با یه کوئری منوهایی که مربوط به هر سطح دسترسی هست براش نمایش بدم

حالا میخوام مدیریت بتونه منوها رو برای هر کاربر کم و زیاد کنه
یعنی لیست منوها برای مدیرت نمایش داده بشه و مدیریت بتونه برای کاربر A منوهای الف ب ج رو فعال و برای کاربر B منوهای الف و ب رو فعال کنه

شما چه راه حلی پیشنهاد میکنید؟؟؟؟؟

kingmech
سه شنبه 25 بهمن 1390, 18:29 عصر
بهتر با xml کار کنید

crazy_1892
سه شنبه 25 بهمن 1390, 18:44 عصر
من برای این کار از بانک استفاده می کنم وپس از خواندن اطلاعات در یک session قرار میدم و چک میکنم

sam166
سه شنبه 25 بهمن 1390, 20:29 عصر
من برای این کار از بانک استفاده می کنم وپس از خواندن اطلاعات در یک session قرار میدم و چک میکنم

بیشتر توضیح میدید

sam166
سه شنبه 25 بهمن 1390, 20:34 عصر
من برای این کار از بانک استفاده می کنم وپس از خواندن اطلاعات در یک session قرار میدم و چک میکنم

دوست عزیز یه پستی از شما خوندم در مورد سطح دسترسی
گفته بودید یه رشته مثلا 1,1,1,0,1 رو بگیره بعد جداش کنه بعد از بانک بخونه
من میگیرم و جداش میکنم
ولی نمیدونم چه جوری از بانک بخونمش

ce_safdari
چهارشنبه 26 بهمن 1390, 01:13 صبح
این شکل رو برای دیتا بیس من پیشنهاد می دم


،82697
برای مدیریت هم یه گرید درست کن، همه roleGroup ها رو نشون بده، بعدا بیا یه ویرایش بگذار همهی داده ها تو بربز توی جدول RolesInMenu،برای نمایش این در مدیریت بهتره که RadTreeList استفاده کنی، یکی یکی تیک بزنی، اونایی که تیک می زنی که یه لیست درست کن، ذخیره در DB

برای لاگین کاربر هم بیا بعد این که کاربر لاگین کرد یه inner join بزن، RoleGroupID رو بدست بیار، یه کوییری درست کن، سلکت کن از دیتا بیس، ازاونجا حاصل inner join بین جدول MenuContent و RoleINMenu می شه منو هات که این رو در لود صفحه ات بگذار،برای این کار هم من پیشنهاد می دم از یه objectDataSource استفاده کنی، بایندش کن به یه متود تو بک کدت، ورودی رو یه پارامتر RoleGroupId بده که این رو از کوییری استرینگ می گیری، از اونجا داخل اون متودت هم join هایی که گفتم رو بزن

saeedgharedaghi
شنبه 29 بهمن 1390, 16:44 عصر
این شکل رو برای دیتا بیس من پیشنهاد می دم


،82697
برای مدیریت هم یه گرید درست کن، همه roleGroup ها رو نشون بده، بعدا بیا یه ویرایش بگذار همهی داده ها تو بربز توی جدول RolesInMenu،برای نمایش این در مدیریت بهتره که RadTreeList استفاده کنی، یکی یکی تیک بزنی، اونایی که تیک می زنی که یه لیست درست کن، ذخیره در DB

برای لاگین کاربر هم بیا بعد این که کاربر لاگین کرد یه inner join بزن، RoleGroupID رو بدست بیار، یه کوییری درست کن، سلکت کن از دیتا بیس، ازاونجا حاصل inner join بین جدول MenuContent و RoleINMenu می شه منو هات که این رو در لود صفحه ات بگذار،برای این کار هم من پیشنهاد می دم از یه objectDataSource استفاده کنی، بایندش کن به یه متود تو بک کدت، ورودی رو یه پارامتر RoleGroupId بده که این رو از کوییری استرینگ می گیری، از اونجا داخل اون متودت هم join هایی که گفتم رو بزن

دوست عزیز من تازه کارم میشه جداول رو بیشتر توضیح بدی
مخصوصا جداول RoleInMenu و RoleGroup ? خواهش میکنم من خیلی با role ها آشنایی ندارم

ce_safdari
یک شنبه 30 بهمن 1390, 00:48 صبح
دوست من، من جدول کشیدم که شما راحت مطلب رو بفهمین، ببینید در سایت های بزرگ بهتره که رول ها رو بیاریم زیرمجموعه ی یک گروه خاص باشه، مثلا ممکنه منو ها ی شما برای مدیران که شامل (نقره ای، برنزی و طلایی باشه) یکی باشه و درجایه دیگه سایت شما براشون تفاوت خاصی قائل باشید، ببین برای جدول RoleInGroup رو شما باید از منو ها جدا کنید ،چون یه رابطه چند به چند بین گروه RoleGroup و منو ها هست، می آییم از یه جدول میانی استفاده می کنیم(هر منو شامل چند گروه رول است، و هر گروه رول شامل چند منو است).
منظور از رول هم همون نقش کاربر در سیستم است، ادمین،کاربر معمولی، کاربر برنزی و.... به طبع برای مدیریت راحت اینا بهتره که بیایم گروه بندیشون کنیم(همان طور که گفتم)