نمایش نتایج 1 تا 3 از 3

نام تاپیک: Simple member ship، Custom Member ship، Identity 2.0 کدام یک؟؟؟

  1. #1
    کاربر دائمی آواتار hadi0x7c7
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    تهران
    سن
    32
    پست
    497

    Simple member ship، Custom Member ship، Identity 2.0 کدام یک؟؟؟

    سلام
    آقا ما آخرش موندیم که برای احراز حویت و سطح دسترسی برای برنامه های MVC باید چی کار کرد؟ منظورم از برنامه هایی هست که نیاز اون بیش از ثبت نام کاربری و ایمیل و چیز های ساده هستش، مثلا یه سایت که کاربر، باید لیست خریداش، کامنتاش، لایک هایی که انجام داده، علاقه مندی هاش و هزار تا فیلد اضافی دیگه! رو توی پایگاه داده نگه داری.

    اول از همه ممنون میشم که بگن که اینجا از کدام متد استفاده میکنه؟ (میدونم Forms هستا!!) منظورم از simple member ship , ....
    بعد سیستم احراز هویت IRIS که در اینجاس از کدوم روشه.

    با Identity کار کردم و میدونم که به راحتی میشه فیلدای اضافی به کلاس User اضافه کرد ولی یه مشکلی که داره همه کارا رو باید از طریق UserManger انجام بدی که یکم کار با ساختار Unit Of work که اینجا معرفی شده رو سخت میکنه ! یا شایدم من بلد نیستم(ولی خداییش به نظرم به درد ما نمیخوره!)

    دوستان ممنون میشم یه راهنمایی کنید که مثلا برای نوشتن یه سایت فروشگاه، که کاربر لیستی از کامنتا، لایک ها، خرید ها، و ... رو باید واسش نگه داریم، چطوری باید این اطلاعات رو یه جوری با یکی از این سیستم های احراز هویت که در عنوان هست ادغام کنیم!

  2. #2

    نقل قول: Simple member ship، Custom Member ship، Identity 2.0 کدام یک؟؟؟

    مسلما بهترینش Identity 2.0 است و با اختلاف زیاد نسبت به روشهای قبل بهینه سازی شده . اضافه کردن فیلد جدید به این جدول خیلی هم ساده است . در فایل IdentityModel که همراه Individual User ساخته میشود کدهای زیر را قرار دهید :


    public class MyUser : IdentityUser
    {
    public string Country { get; set; }
    }
    public class ApplicationUser : MyUser
    {
    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationU ser> manager)
    {
    // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
    var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
    // Add custom user claims here
    return userIdentity;
    }

    public string CityName { get; set; }

    }


    اگر به تعریف کلاس ApplicationDbContext نگاه کنید :


    public class ApplicationDbContext : IdentityDbContext<ApplicationUser>


    می بینید که این کلاس به کلاس ApplicationUser به صورت Generic وابسته است . حالا شما به هر روشی که فیلدر به کلاس ApplicationUser اضافه کنید خود به خود در جدول مربوط به کاربران اضافه میشود . در کد اول من فیلد CityName را مستقیما به این کلاس اضافه کردم و فیلد Country رو به کلاس MyUser اضافه کردم که بعدا کلاس ApplicationUser از آن ارث بری میکند. بعد از بازسازی جداول خواهید دید که هر دو فیلد به بانک اطلاعاتی اضافه میشوند.

    پیاده سازی IUserManager زمانی لازم میشه که شما بخواهید مسئله ی لایه ها و جداسازی وابستگی را به صورت کاملا اصولی پیاده کنید. مخصوصا وقتی که لایه های شما در چند ClassLibrary جدا قرار داشته باشند. هر پروژه ای که بخواد از کاربرها استفاده کنه هم باید به Identity و هم باید به EntityFrameWork رفرنس داشته باشه که برای بعضی ها چندان مطلوب نیست. این یک اشکال خیلی ریز هسا و خیلی ها از کنارش میگذرند و تاثیری هم در نهایت پروژه ندارد. فقط اگر وسواس ساختاری دارید برای شما مهم میشود. و آن دوستانی که از این سطح به پروژه نگاه میکنند دردسر پیاده سازی IUserManager و سایر اینترفیس های مربوطه را هم به جان میخرند.

    بعد برای ارتباط برقرار کردن بین سایر جداول و جدول کاربران مانند همیشه عمل میکنید.


    public string UserId { get; set; }
    public virtual ApplicationUser User { get; set; }


    همانطور که می بینید نقاط زیادی هست که شما می توانید روش های پیشفرض کاری Identity 2.0 را تغییر دهید. شما می توانید از همه کلاسهای مربوطه ارث بری کنید و یک متد خاص را Override کنید. در این روش شما مستقیما به DbContext دسترسی ندارید. فقط زمانی که اینترفیس ها را خودتان پیاده سازی کنید وابستگی سیستم مدیریت کاربران به EntityFramework را قطع کنید.
    آخرین ویرایش به وسیله hakim22 : شنبه 18 مرداد 1393 در 08:54 صبح

  3. #3
    کاربر دائمی آواتار hp1361
    تاریخ عضویت
    دی 1384
    محل زندگی
    تهران
    پست
    750

    نقل قول: Simple member ship، Custom Member ship، Identity 2.0 کدام یک؟؟؟

    سلام

    از دوستان کسی پیاده سازی Identity2.0 و IUnitOfWork در کنار هم رو انجام داده؟

    اگر ممکنه نتیجه تجربیات رو با ما به اشتراک بگذارید که بدونیم چطور میشه اونو پیاده سازی کرد

    ممنون

تاپیک های مشابه

  1. Member login
    نوشته شده توسط eslamy در بخش Flash و ActionScript
    پاسخ: 2
    آخرین پست: پنج شنبه 21 اردیبهشت 1385, 12:09 عصر
  2. member of domain
    نوشته شده توسط cleoaqr در بخش شبکه و Networking‌
    پاسخ: 9
    آخرین پست: چهارشنبه 07 دی 1384, 16:33 عصر
  3. Default Member
    نوشته شده توسط titbasoft در بخش VB.NET
    پاسخ: 3
    آخرین پست: یک شنبه 23 مرداد 1384, 23:05 عصر
  4. display member n در combobox
    نوشته شده توسط hamed_bostan در بخش VB.NET
    پاسخ: 0
    آخرین پست: یک شنبه 23 مرداد 1384, 15:07 عصر
  5. data Member,Data binding
    نوشته شده توسط archi در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 1
    آخرین پست: دوشنبه 15 دی 1382, 08:16 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •