PDA

View Full Version : سوال: ضرورت استفاده از Membership Provider



vbkaar
سه شنبه 16 آبان 1396, 20:38 عصر
سلام. من دارم روی یک پروژه MVC5 کار میکنم که از یک طرف امنیت سایت برام مهمه و از طرف دیگه ازم خواسته شده که از جداول خودمون برای کاربرا و Role ها استفاده کنیم. تحقیق کردم و متوجه شدم که باید یک Custom Membership provider درست کنم. که از آموزش زیر استفاده کردم.

http://https://www.codeproject.com/Articles/165159/Custom-Membership-Providers

الان سرپرست پروژم که خودش زیاد به MVC مسلط نیست، وقتی براش توضیح دادم ، میگه که چرا باید کلاسی درست کنیم که از MembershipProvider مشتق بشه در حالی ما به همه توابع اون نیاز نداریم. میگه چرا خودمون مستقیم مثلا فقط متدهایی که لازم داریم رو ننویسیم. مثلا مستقیم به بانک وصل بشم و کار ثبت نام و لاگین رو انجام بدیم یا اینکه در یک کلاس مستقلی بنویسیم و ازش استفاده کنیم؟ حالا من سوالم این هست که آیا ضرورتی داره که ما Custom Membership provider رو پیاده سازی کنیم؟به نظر شما چه مشکلاتی ممکنه پیش بیاد اگه مثلا ما یک ActionResult درست کنیم که نام کاربری و کلمه عبور و ایمیل رو میگیره و با ef به دیتابیس وصل میشه و در جدول کاربران ثبتش میکنه؟ و همچنین یک ActionResult برای Login به همین شکل داشته باشیم. دوستان ممنون میشم راهنماییم کنید.

Moien Tajik
چهارشنبه 17 آبان 1396, 13:23 عصر
Membership و Identity بهتون امکاناتی از پیش تعریف شده میدن که کار شمارو راحت میکنه ;
بعنوان مثال وقتی کاربری ثبت نام میکنه خودش پسورد رو encrypt میکنه و ذخیرش میکنه و یا بطور درون ساخت بهتون امکان Two Factor Authentication و یا Email Verification رو میده.
بدون این ها هم شما میتونید Custom Provider خودتون رو بنویسید اما این Framework ها براساس Best Practice ها طی سال ها توسط چندین نفر ایجاد و تست شده و مطمئن هستن.
مشکلی نداره که شما از فریمورک خودتون استفاده کنید ، به شرط اینکه از امنیت اون مطمئن باشید.

hakim22
چهارشنبه 17 آبان 1396, 20:39 عصر
سیستم Identity همه ی آنچیزی که برای احراز هویت و مدیریت امنیت یک سایت لازم هست رو درخودش داره . تمام توابع اون مفید هستند و به کار میان.
اگر از قسمتی استفاده نمی کنید این ضعف در سیستم امنیتی شما هست نه اینکه Identity کدهای اضافه داره. سیستم های مثل ورود کاربران ، ثبت نام فراموشی رمز عبور ریست پسورد و مدیریت کوکی همه در اون تعبیه شده. در واقعه میشه گفت شما از 80 درصد Identity همیشه استفاده میکنید.

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

mohammadmowlavi
دوشنبه 22 آبان 1396, 07:09 صبح
سلام و عرض ادب بنده یه چیزی رو نتونستم بفهمم ایا با identity میشه دسترسی به رکوردهای بانک اطلاعات را مسدود کرد من فقط محدوید اکش و کنترولر نمیخوام میخوام کاربرایی که ایجاد میشه دسترسی به اطلاعات بانک رو هم براشون تعریف بکنم یعنی یه کوئری فیلتر شده بتونم ایجاد کنم

ali_md110
چهارشنبه 24 آبان 1396, 23:40 عصر
با Identity میشه Role هایی تعریف کرد و یک سری کاربر هم منتسب به یک یا چند Role کرد و سطح دسترسی به کاربر داد
برای اینکه رکوردهای سایر جداول فیلتر یشن باید
رابطه ای بین جداول Role یا User با جداولی که نیاز به فیلتر دارند برقرار کنید
و کوئری هاتون رو بنویسید
البته میتونید بدون رابطه هم انجام داد ولی منطقی نیست و جامعیت نداره

mohammadmowlavi
شنبه 04 آذر 1396, 19:56 عصر
اگر بتونید یه مثال ساده هم بزند ممنون میشم باتشکر