مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

rezaya2938

عضویت از 1392/09/23

ذخیره اطلاعات اضافی در آبجکت یوزر لوگین شده در MVC , identity

  • جمعه 18 فروردین 1396
  • 09:44
تشکر میکنم

سلام.

در MVC و با استفاده از identity 2، چطور میشه موقعی که کاربر لوگین میشه یه سری اطلاعات اضافه از دیتابیش گرفت و جایی ذخیره کرد که بدون نیاز به اتصال به دیتابیس ازش استفاده کرد. مثلا یه فیلد جدید به نام FullName که خودمون اضافی کردیم رو بیارید و بتونیم اینطوری استفاده کنیم:

همونطور که برای گرفتن ID یوز لوگین شده از

 User.Identity.GetUserId() 

استفاده میکنیم ، بتونیم از کدی مشابه زیر برای گرفتن اون فیلد موردنظر استفاده کنیم(بدون اتصال به دیتابیس):

User.Identity.GetFullName()

تشکر

پاسخ های این پرسش

تعداد پاسخ ها : 8 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 18 فروردین 1396
  • 10:15

میتونید خودتون چنین متدی بسازید

یک کلاس بسازی و متد را بهش اضافه کنید و وقتی صدا میزنید نام شخص را واکشی کنید و برگردانید

کاربر سایت

rezaya2938

عضویت از 1392/09/23

  • جمعه 18 فروردین 1396
  • 10:16

نمیخوام هربار از دیتابیس بخونه. میخوام همون بار اول که لوگین میکنه ذخیره بشه. و میخوام از identity استفاده کنم.

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 18 فروردین 1396
  • 10:17

در Session کاربر قرار دهید

کاربر سایت

rezaya2938

عضویت از 1392/09/23

  • جمعه 18 فروردین 1396
  • 10:23

میخوام توی خود identity ذخیره بشه که مدیریتش با خودش باشه. من نخوام سشن و کوکی رو ذخیره کنم. جایی دیدم که همچین کلاسی نوشته بود:

public class AppUserManager : UserManager<UserDatabaseLogin, int>
{
    public AppUserManager(IUserStore<UserDatabaseLogin, int> store) : base(store) { }
    public static AppUserManager Create(IdentityFactoryOptions<AppUserManager> options, IOwinContext context)
    {
        AppUserManager manager = new AppUserManager(new UserStore());
        manager.PasswordValidator = new PasswordValidator
        {
            RequireDigit = false,
            RequiredLength = 4, 
        }; 
            
        return manager;
    }
}

که توی کلاس UserDatabaseLogin ان اطلاعات اضافی بود.

 ولی دیگه ندیدم چیکار کرده بود یا کلا قضیش چی بود!

اینطوری میخوام

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 18 فروردین 1396
  • 10:27

مگه میشه دوست من ؟

باید شما کد بنویسید ، هنوز علم اونقدر پیشرفت نکرده

اگر ستونی یا فیلدی اضافه کنید خودتون باید کدهای مدیریتش رو به Identity اضافه کنید

کاربر سایت

rezaya2938

عضویت از 1392/09/23

  • جمعه 18 فروردین 1396
  • 10:55

خوب من هم میگم میخوام خودم اضافه کنم.ولی خوب شما دارید میگید از سشن استفاده کنم!! سشن که ربطی به identity نداره.

منظور من اینه که کد خوندنش موقع لوگین و اضافه کردنش به identity  رو بنویسم. 

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 18 فروردین 1396
  • 10:56

شما ابتدا راجع به طرز کار و معماری Identity تحقیق و مطالعه کنید بعد متوجه میشید چگونه کنترلش کنید

این تکنولوژی از ورژن 2 کاملا بر پایه OWIN ساخته شده

کاربر سایت

rezaya2938

عضویت از 1392/09/23

  • جمعه 18 فروردین 1396
  • 11:47
کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)