PDA

View Full Version : حرفه ای: انتخاب راه حل مناسب برای login سیستم



niloofar21
یک شنبه 30 بهمن 1390, 20:40 عصر
من دارم رو یه پروژه کار میکنم..تو سیستم احتیاج دارم به یه کاربر به عنوان سوپر وایزر که اطلاعات تمام شهرها رو ببینه و یه کاربر استاندارد که از هر شهری که هست اطلاعات مربوط به شهر خودشو فقط ببینه و ویرایش کنه .
با توجه به این از membership خود .net نمیتونم استفاده کنم .سه تا جدول دارم که یکی اطلاعات کاربرا و یکی شهرها را مشخص میکنه و سومی مشخص میکنه که چه کاربری از چه شهری به چه مواردی دسترسی داره .

دو تا مسیله اینجا هست : اول اینکه اطلاعات مربوط به اینکه این کاربر از کجاست باید مثل یک برچسب باهاش باشه.از چی برای این کار استفاده کنم بهتره ؟session یا cookie؟یا چیز دیگه؟
و دوم اینکه استفاده از multi view برای دادن امکان انتخاب شهر ها به سوپروایزر و ندادن این امکان به کاربرای استاندارد راه خوبی هست یا نه ؟
اگه برای این کارها راه بهتری هست اون راه چیه ؟
پیشا پیش ممنون از راهنماییتون دوستای خوبم .خیلی خیلی فوریه.

alonemm
دوشنبه 01 اسفند 1390, 11:49 صبح
جرا هیچکی جواب نمیده :گریه:

باسلام:

اگه نیاز به ساخت یک سیستم سطح دسترسی سفارشی دارید باید خودتون این سیستم رو طراحی کنید.
من شرایطی که در یک چنین سیستم پیاده کردم رو طبق خواسته شما مطرح میکنم:

1 جدول برای کاربران و 1 جدول برای شهر ها و 1 جدول که ID هر کاربر و ID هر شهری که مربوط به آن هست رو ذخیره میکنید سپس از این جدول میتونید شهر های مربوط به هر کاربر رو با یک View یا SP بسازید و ازش استفاده کنید و ققط کافی ID کاربر فعلی رو بهش بفرستید.

سشن ها از نظر امنیت بهتر از کوکی هستند. (خیلی بحث شده جستجو کنید در تالار)
روش های طراحی زیادی وجود داره و بستگی به نوع سایت و طراح هست میتونید از هر کنترلی استفاده کنید ولی فکر نمیکنم نیازی به Multi View داشته باشید.(بیشتر توضیح بدید چه کاری میخواید انجام بدید تا بهتر راهنمایی کنم.)


موفق باشید.

niloofar21
دوشنبه 01 اسفند 1390, 12:52 عصر
خیلی خیلی ممنون از جوابتون .
راستش می خوام به این شکل باشه که یک کاربر با سطح دسترسی بالاتر (سوپروایزر) بتونه به اطلاعات مربوط به همه شهرها دسترسی داشته باشه و احتمالا در هر صفحه توی یه dropdown list بتونه شهر مورد نظر را انتخاب و اطلاعاتش رو ببینه. و بقیه کاربرا فقط با توجه به اینکه مال چه شهری هستند فقط اطلاعات شهر خودشون رو ببینند. یعنی زمانی که کاربر وارد میشه مشخص باشه که از کدام شهر هست و با ورود به هر صفحه اطلاعات موجود در آن صفحه که فقط مربوط به شهر خودش هست را ببینه .


در واقع یه dropdownlist توی همه صفحه ها باشه که میشه ازش شهر مورد نظر را انتخاب کرد ولی فقط سوپروایزر بتونه اون ببینه .البته نمیدونم این روش خوبه یا نه .اگه خوبه بهترین راه پیاده سازیش چیه ؟

alonemm
دوشنبه 01 اسفند 1390, 13:21 عصر
دوست من:

شما میتونید ID شهر هر کاربر رو در جدول کاربران ذخیره کنید و هنگام لاگین رول و ID شهر رو در 2 سشن ذخیره کنید.
سپس در هر متدی که میخواید دراپ دان رو بایند کنید کوئری Select رو بر اساس این بنویسید که اگر رول سوپروایزر بود دستور select تمام شهر ها بیاید مثل:

Select * from City

برای کاربران معمولی :

select * from City Where id = sessen[CityUser]


موفق باشید.

niloofar21
پنج شنبه 04 اسفند 1390, 16:39 عصر
مشکلم تقریبا حل شد .ممنون