PDA

View Full Version : سوال: نحوه ایجاد Custom Membership در MVC و چگونگی پیاده سازی و استفاده؟



hp1361
چهارشنبه 19 تیر 1392, 16:22 عصر
سلام

دوستان اگه لطف کنن و راهنمایی کنند چطور می تونم Membership شخصی درست کنم و ازش استفاده کنم ممنون می شم

shadii
چهارشنبه 19 تیر 1392, 18:29 عصر
http://www.dotnettips.info/post/1166/%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%D8%B3%D9%81%D8%A7%D8%B1%D8%B4%DB%8C-%D8%B3%D8%B7%D9%88%D8%AD-%D8%AF%D8%B3%D8%AA%D8%B1%D8%B3%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%A7%D9%86-%D8%AF%D8%B1-mvc

hp1361
پنج شنبه 20 تیر 1392, 23:13 عصر
سلام

ضمن تشکر از Shadi بابت لینک

توی لینک بالا در مورد RoleProvider توضیحاتی رو داده(مخصوصا که از Code First استفاده کرده و باید با اون هم آشنا باشیم)

در مورد مدیریت کاربر(User) لینکی اگه دوستان بزارن ممنون میشم

parvizwpf
جمعه 21 تیر 1392, 17:25 عصر
در کل شما باید خودتون کاربران رو مدیریت کنید کمی کدنویسی داره.
http://www.codeproject.com/Articles/165159/Custom-Membership-Providers

hp1361
جمعه 11 مرداد 1392, 15:22 عصر
سلام

نمیدونم این MVC خیلی سخته یا من پیر شدم و چیزی نمی فهمم!

Webform ها رو که به خوبی میفهمیدیم تو جوانی!

parvizwpf
جمعه 11 مرداد 1392, 15:30 عصر
تو چی مشکل دارید الان؟ کجا رو نمی فهمید؟

hp1361
جمعه 11 مرداد 1392, 21:18 عصر
سلام

والا یه برنامه ساده! یک فرمی که اطلاعاتی در حد یک فیلد رو میگیره و حدود 30 فیلد رو برمیگردونه! به همین سادگی!

گیر من توی Membership کاربرانه که باید با Code First پیاده سازی کنم و البته خودم نه فایل آماده!

کلی کتاب و مطلب خوندم و کلی پروژه رو مرور کردم! از جمله پروژه IRIS از سایت Dotnettips و ....

از اینترفیس هایی که استفاده کردن و لایه های مختلفی که تعریف کردن سردر نمیارم

یه استادی بیاد گام های کارایی که باید انجام داد رو مشخص کنه مشکل من حل میشه

ممنون

parvizwpf
شنبه 12 مرداد 1392, 01:39 صبح
ببینید اگر مشکل نوشتن یک سیستم ممبر شیپ کاربریه که برید سرچ کنید implement custom membership in mvc دو سه تا که ببینید میفهمید چطور باید خودتون اونو پیاده کنید . اینجا کار زیاد میبره برای توضیح. شما باید خودتون یه جورایی AuthorizeAttribute رو تحریف کنید.

hakim22
شنبه 12 مرداد 1392, 09:16 صبح
به نظر من بجای Custom Membership بهتره عضو گیری خودتون رو بسازید .

AuthorizeAttribute به راحتی Custom میشه (راحت تر از Membership)

وقتی این Attribute رو به یک کلاس یا متد اضافه می کنید کار اصلیش به صورت پیشفرض بررسی مقدار FormsAuthentication

حالا شما میتوانید بانک کاربرهای خودتون رو بسازید و مثل حالت معمول نام کاربری و کلمهی عبور رو بررسی کنید در نهایت اگر کاربری به سایت وارد شده بود این مقدار رو تنظیم کنید :


FormsAuthentication.SetAuthCookie(username,false)


حالا هرجا AuthorizeAttribute بگذارید مقدار بالا رو بررسی میکنه که آیا GetAuthCookie مقدار داره یا null هست. اگر null بود به مسیر Account/login میره (این مسیر در Web.config قابل تغییره)

شما باید یک کنترل به همین نام و یک متد به نام login داشته باشید که View ورود رو شامل میشه و یک متد logout

حالا اگر بخواهید چیزهایی مثل role یا سطح دسترسی یا هر چیز دیگه ای رو بررسی کنید باید یک چیزی مثل MyAuthorizeAtrribute بسازید که از کلاس AuthorizeAtrribute مشتق میشه.

این کلاس خیلی شلوغه اما برای بررسی role که به صورت custom ساخته شده باشه عملا فقط باید یک یا دو متد رو بازسازی کنید . بعدا میشه بجای AuthorizeAtrribute(role="") چنین چیزی داشت :


[MyAuthorize(role="Admin" ]

R_Rajaee_Rad
شنبه 12 مرداد 1392, 10:39 صبح
جناب hakim22 از لحاظ امنیتی روشی که گفتید نسبت به membership ضعیف تر نیست؟

hakim22
شنبه 12 مرداد 1392, 11:02 صبح
هر چیزی بهایی داره !

hp1361
شنبه 12 مرداد 1392, 18:43 عصر
دوستان اگه راهنمایی کنن همون Membership رو با Code First پیاده سازی کنیم ممنون میشم

قدم اول: تعریف کلاس User, Role. درسته؟

اگه درسته کجا تعریف کنیم؟ توی DataLayer یا Domainclass؟