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

نام تاپیک: نحوه ی اضافه کردن Identity به لایه های پروژه

  1. #1

    نحوه ی اضافه کردن Identity به لایه های پروژه

    سلام من دیتابیس پروژه ام را با EFCode First از قبل آماده کردم و میخوام Identity 2 را بهش اضافه کنم که سایر جداولم را با Navigation Property به جدول Users و Role در Identity متصل کنم .

    پروژه ی من شامل Class Library های DomainClasses , DataLayers هست .

    برای دیتابیس خودم یک Dbcontext دارم که Dbset های کلاسها تعریف شده .

    1. حالا من Identity را چطور اضافه کنم ؟ کدوم لایه ؟

    2. اگر بخوام فقط از Dbcontext خود Identity استفاده کنم چطور Dbset کلاسهام را بهش اضافه کنم ؟

    3. برای جداول Identity چطور میتونم Navigation Property تعریف کنم تا به جداول خودم متصل بشن ؟

  2. #2
    کاربر دائمی
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    دماوند
    سن
    32
    پست
    287

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    سلام.
    داخل پروژه DataLayer تون پکیج Microsoft.ASP.NET.Identity.EntityFramework رو هم نصب کنید.
    کلاس یوزرتون رو بسازید و از IdentityUser مشتقش کنید و فیلدهایی رو که میخواید رو اضافه کنید بهش.
    کلاس DbContext تون هم از IdentityDbContext مشتق کنید (جنریک هستش البته یعنی IdentityDbContext<User> مثلاً)
    IdentityUser به صورت پیش فرض از Guid برای Id استفاده میکنه که این ممکنه طراحی تون رو دچار مشکل کنه ولی شما میتونید از
    IdentityUser<long, UserLogin, UserRole, UserClaim>
    استفاده کنید تا Id رو مثلاً long در نظر بگیره. در کل یک مقدار ریزه کاری زیاد داره.

  3. #3

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    نقل قول نوشته شده توسط mze666 مشاهده تاپیک
    سلام.
    داخل پروژه DataLayer تون پکیج Microsoft.ASP.NET.Identity.EntityFramework رو هم نصب کنید.
    کلاس یوزرتون رو بسازید و از IdentityUser مشتقش کنید و فیلدهایی رو که میخواید رو اضافه کنید بهش.
    کلاس DbContext تون هم از IdentityDbContext مشتق کنید (جنریک هستش البته یعنی IdentityDbContext<User> مثلاً)
    IdentityUser به صورت پیش فرض از Guid برای Id استفاده میکنه که این ممکنه طراحی تون رو دچار مشکل کنه ولی شما میتونید از
    IdentityUser<long, UserLogin, UserRole, UserClaim>
    استفاده کنید تا Id رو مثلاً long در نظر بگیره. در کل یک مقدار ریزه کاری زیاد داره.
    الان فقط مشکلی که هست وقتی پروژه را اجرا میکنم دیتابیس با جداول پروژه ی خودم ساخته میشه . وقتی میخوام کاربر Register کنم خطا میده :

    Model compatibility cannot be checked because the database does not contain model metadata. Model compatibility can only be checked for databases created using Code First or Code First Migrations.


    و برعکس اگر اول برم کاربر ثبت نام کنم جداول Identity ایجاد میشه ولی وقتی میرم روی پروژه ی خودم تا جداول خودم ساخته بشه همین خطا را برای اونا میده .

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

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    اگر از دو DbContext استفاده میکنی باید با استفاده از migration هر دو رو Update کنی

  5. #5

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    نقل قول نوشته شده توسط sunn789 مشاهده تاپیک
    اگر از دو DbContext استفاده میکنی باید با استفاده از migration هر دو رو Update کنی
    همونطور که mze666 گفتن من dbContext خودم را به این شکل
     public class DbContext:IdentityDbContext<IdentityUser>
    {
    .
    .
    .
    }

    ارث بری کردم .

    Identity Config هم به این شکل

    public class ApplicationDbInitializer : DropCreateDatabaseIfModelChanges<ApplicationDbCont  ext>
    {
    .
    .
    .
    }


    تعریف شده . خواستم سناریو این را به Migration تغییر بدم که هرجور نوشتم خطا داد ...!

    Dbcontext خودم با Migration تعریف کردم ولی این یکی نمیشه .

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

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    این رو نمیدونم خود من عمومآ از روشهای عمومی MVC استفاده میکنم و ماند شما حرفه ای نیستم البته فکر کنم نظام فکری Asp.net بر کار شما با MVC تاثیر گذاشته و من این نوع رشته و سبک رو در ASP.Net میدیدم اما خود من از سیلورایت کوچ کردم به MVC و از روشهای شما چیزی نمیدونم فقط به این نتیجه رسیدم روشها ی خودMCv بسیار راحت تر از روشهای Asp.net هست ، و توی مباحث تجاری بسیار کار امد تر و سریع تر .من عموماً از DBContext خود Mvc استفاده میکنم و Identity که خودش داره رو با استفاده از استانداردهای خودش گسترش میدم و بانکهای اطلاعاتی خودم نیز در MVC 5 به صورت اتوماتیم اضافه میشه

  7. #7

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    نقل قول نوشته شده توسط sunn789 مشاهده تاپیک
    این رو نمیدونم خود من عمومآ از روشهای عمومی MVC استفاده میکنم و ماند شما حرفه ای نیستم البته فکر کنم نظام فکری Asp.net بر کار شما با MVC تاثیر گذاشته و من این نوع رشته و سبک رو در ASP.Net میدیدم اما خود من از سیلورایت کوچ کردم به MVC و از روشهای شما چیزی نمیدونم فقط به این نتیجه رسیدم روشها ی خودMCv بسیار راحت تر از روشهای Asp.net هست ، و توی مباحث تجاری بسیار کار امد تر و سریع تر .من عموماً از DBContext خود Mvc استفاده میکنم و Identity که خودش داره رو با استفاده از استانداردهای خودش گسترش میدم و بانکهای اطلاعاتی خودم نیز در MVC 5 به صورت اتوماتیم اضافه میشه
    بصورت پیشرفته با asp.net webform کار نکردم که بخوام اونجا وارد این مباحث بشم و خوشبختانه سریعا وارد mvc شدم و وقتم را اونجا تلف نکردم .
    فقط سعی میکنم روشهایی که افراد با تجربه و حرفه ایی در پروژه هاشون استفاده میکنن را یادبگیرم و بکار ببرم .

    دوستان لطفا راهنمایی کنید ...
    آخرین ویرایش به وسیله HOSSEINONLINE7 : شنبه 15 شهریور 1393 در 23:39 عصر

  8. #8
    کاربر دائمی
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    دماوند
    سن
    32
    پست
    287

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    من به همچین مشکلی تا حالا نخوردم. اگر دیتای واقعی ندارید یه بار دیتابیس رو Drop کنید و بزارید دوباره از اول ساخته بشه. DropCreateDatabaseAlways

  9. #9

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    نقل قول نوشته شده توسط mze666 مشاهده تاپیک
    من به همچین مشکلی تا حالا نخوردم. اگر دیتای واقعی ندارید یه بار دیتابیس رو Drop کنید و بزارید دوباره از اول ساخته بشه. DropCreateDatabaseAlways
    دیتا واقعی نیست و من خودم دیتابیس را دستی پاک کردم .

    کدهام را میزارم ببینید کجا اشتباه کردم :

    این DataContext در DataLayer :

    namespace DataLayers.Context
    {

    public class DbContext:IdentityDbContext<IdentityUser>
    {
    static DbContext()
    {

    System.Data.Entity.Database.SetInitializer
    (new MigrateDatabaseToLatestVersion<DbContext, Migrations.Configuration>());

    }

    public DbContext()
    : base("MVCWebUnitdb")
    {

    }


    public DbSet<Post> Post { get; set; }
    public DbSet<Categories> Categorie { get; set; }
    public DbSet<Comment> Comment { get; set; }
    public DbSet<Message> Message { get; set; }
    public DbSet<MessageAnsware> MessageAnsware { get; set; }
    public DbSet<UserMetaData> UserMetaData { get; set; }



    توی Domain Classes یک کلاس برای تعریف Navigation Property ساختم تا جدول User در Identity به جدول Post متصل بشه :

    namespace DomainClasses.IdentityModel
    {
    public class AspNetUsers : IdentityUser
    {
    public virtual ICollection<Post> Post { get; set; }
    public virtual ICollection<Post> LikedPosts { get; set; }
    }
    }


    جای دیگه هم تغییری ندادم .

    این قسمت در کلاس Identity Config فولدر App_Start به این شکل تعریف شده :

     public class ApplicationDbInitializer : DropCreateDatabaseIfModelChanges<ApplicationDbCont  ext>
    {
    protected override void Seed(ApplicationDbContext context) {
    InitializeIdentityForEF(context);
    base.Seed(context);
    }


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

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

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    ببخشید راستش اصطلاحات شما منو به این اشتباه انداخت ، بگذارید پای بی سواد ی ما

  11. #11
    کاربر دائمی
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    دماوند
    سن
    32
    پست
    287

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    یک بار از همین DropCreateDatabaseAlways استفاده کنید به جایDropCreateDatabaseIfModelChanges .

  12. #12

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    به نظر من ساده تر هست که شما یک پروژه ی خام MVC5 رو ایجاد کنید (در حالی که در وضعیت Individual User) تنظیم شده و بعد کدهایی رو که میسازه رو به پروژه اضافه کنید.

    برای ادامه هم به این لینک مراجعه کنید.

  13. #13

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    نقل قول نوشته شده توسط mze666 مشاهده تاپیک
    یک بار از همین DropCreateDatabaseAlways استفاده کنید به جایDropCreateDatabaseIfModelChanges .
    خوب اینطوری ارور نمیده ولی هر بار دیتابیس را پاک میکنه و باعث میشه اطلاعاتش هم از بین بره

  14. #14

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    نقل قول نوشته شده توسط hakim22 مشاهده تاپیک
    به نظر من ساده تر هست که شما یک پروژه ی خام MVC5 رو ایجاد کنید (در حالی که در وضعیت Individual User) تنظیم شده و بعد کدهایی رو که میسازه رو به پروژه اضافه کنید.

    برای ادامه هم به این لینک مراجعه کنید.
    من در در حاظر یک پروژه ی عجله ایی باید انجام بدم و هنوز وقت نکردم سراغ MVC5 برم . در کدنویسی که با 4 فرقی نداره ؟

    ظاهرا لایه بندی با Class Library برام دردسر ساز شده و یکم کار را پیچیده کرده . فکر کنم باید همینطوری بدون استفاده از اون بنویسم .

  15. #15

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    وقتی دو DbContext در پروژه داشته باشید کار با Migration کمی پیچیده میشه . حتما باید اسم پروژه و اسم DbContext را در Add-Migration بنویسید. نیازی به Initializer ندارید. با Migration کار رو جلو ببرید.

    اگر خطایی میده در اینجا درج کنید تا پاسخ داده بشه.

  16. #16

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    نقل قول نوشته شده توسط hakim22 مشاهده تاپیک
    وقتی دو DbContext در پروژه داشته باشید کار با Migration کمی پیچیده میشه . حتما باید اسم پروژه و اسم DbContext را در Add-Migration بنویسید. نیازی به Initializer ندارید. با Migration کار رو جلو ببرید.

    اگر خطایی میده در اینجا درج کنید تا پاسخ داده بشه.
    من برای ApplicationUser یک Migration ساختم . حالا میخوام Migration را برای DbContext خود Identity که در کلاس Identity Context قرار داره فعال کنم .

    باید کلاس زیر سناریوش تغییر کنه به Migration

     public class ApplicationDbInitializer : DropCreateDatabaseIfModelChanges<ApplicationDbCont  ext>
    {
    protected override void Seed(ApplicationDbContext context) {
    InitializeIdentityForEF(context);
    base.Seed(context);
    }


    ولی نمیشه . چطور این کار را بکنم ؟


    ببینید جداول مربوط به Identity و جداول مربوط به پروژه ی خودم همگی در یک دیتابیس ساخته میشن . وقتی پروژه را اجرا میکنم و کاربر ثبت نام میکنم از طریق ApplicationDbContext خود Identity 2 جداول مربوطه ساخته میشه . حالا وقتی میام روی View های خودم باید جداول مربوط به پروژه ی خودم از طریق Dbcontext خودم ساخته بشه که ارور میده .

    در واقع این 2 Dbcontext با هم تداخل دارن . اگر دیتابیس از قبل موجود باشه و جدول توش باشه یکی از Dbcontext ها خطا میده .

    Model compatibility cannot be checked because  the database does not contain model metadata. Model compatibility can  only be checked for databases created using Code First or Code First  Migrations.

  17. #17

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    نقل قول نوشته شده توسط hakim22 مشاهده تاپیک
    وقتی دو DbContext در پروژه داشته باشید کار با Migration کمی پیچیده میشه . حتما باید اسم پروژه و اسم DbContext را در Add-Migration بنویسید. نیازی به Initializer ندارید. با Migration کار رو جلو ببرید.

    اگر خطایی میده در اینجا درج کنید تا پاسخ داده بشه.
    من برای ApplicationUser یک Migration ساختم . حالا میخوام Migration را برای DbContext خود Identity که در کلاس Identity Config قرار داره فعال کنم .

    باید کلاس زیر سناریوش تغییر کنه به Migration

     public class ApplicationDbInitializer : DropCreateDatabaseIfModelChanges<ApplicationDbCont  ext>
    {
    protected override void Seed(ApplicationDbContext context) {
    InitializeIdentityForEF(context);
    base.Seed(context);
    }


    ولی نمیشه . چطور این کار را بکنم ؟


    ببینید جداول مربوط به Identity و جداول مربوط به پروژه ی خودم همگی در یک دیتابیس ساخته میشن . وقتی پروژه را اجرا میکنم و کاربر ثبت نام میکنم از طریق ApplicationDbContext خود Identity 2 جداول مربوطه ساخته میشه . حالا وقتی میام روی View های خودم باید جداول مربوط به پروژه ی خودم از طریق Dbcontext خودم ساخته بشه که ارور میده .

    در واقع این 2 Dbcontext با هم تداخل دارن . اگر دیتابیس از قبل موجود باشه و جدول توش باشه یکی از Dbcontext ها خطا میده .

    Model compatibility cannot be checked because  the database does not contain model metadata. Model compatibility can  only be checked for databases created using Code First or Code First  Migrations.

  18. #18

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    بالاخره تونستم ApplicationDbInitializer را Migration کنم .

    باید در Identity Models کلاس ApplicationDbContext انجام بشه :
    http://stackoverflow.com/questions/2...y-2-0-database

     public ApplicationDbContext()
    : base("MVCWebUnitdb", throwIfV1Schema: false)
    {
    Database.SetInitializer<ApplicationDbContext>(new MigrateDatabaseToLatestVersion<ApplicationDbContex t, MVCIdentityTest.Migrations.Configuration>());
    }




    فقط الان یک مشکلی که هست میخوام چدول User ها را به جداول دیگه از طریق Navigation Property متصل کنم .
    اومدم یک کلاسی ساختم و به صورت زیر پروپرتی ها را تعریف کردم :
      public class AspNetUsers : IdentityUser
    {

    public virtual ICollection<Post> Post { get; set; }
    public virtual ICollection<Post> LikedPosts { get; set; }
    }


    در کلاس Post هم به این شکل تعریف کردم :

       public virtual AspNetUsers Users { get; set; }
    public virtual ICollection<AspNetUsers> LikedUsers { get; set; }


    اینم Fluent Api :
     HasMany(x => x.LikedUsers).WithMany(x => x.LikedPosts).Map(x =>
    {
    x.ToTable("LikeUserPost");
    x.MapLeftKey("PostId");
    x.MapRightKey("UserId");
    });


    HasRequired(x => x.Users).WithMany(x => x.Post);



    ولی خطا میده :

    One or more validation errors were detected during model generation:

    DataLayers.Context.IdentityUserLogin: : EntityType 'IdentityUserLogin' has no key defined. Define the key for this EntityType.
    DataLayers.Context.IdentityUserRole: : EntityType 'IdentityUserRole' has no key defined. Define the key for this EntityType.
    IdentityUserLogins: EntityType: EntitySet 'IdentityUserLogins' is based on type 'IdentityUserLogin' that has no keys defined.
    IdentityUserRoles: EntityType: EntitySet 'IdentityUserRoles' is based on type 'IdentityUserRole' that has no keys defined.

  19. #19

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    اساتید و بزرگواران خواهشا یک کمکی برسونید چند روزه پوستم کنده شد و این درست نشد .

    شما وقتی یک پروژه دارید که با EF Code First دیتابیس را طراحی کردید و بصورت Class Library دارید . چطور Asp.Net Identity را در قالب یک کلاس Library به پروژه اضافه میکنید ؟

    من هرکاری میکنم هر 2 DataContext ها با هم تداخل داره .

    چطور ِDataContext ها را مدیریت میکنید ؟

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

  20. #20
    کاربر دائمی
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    دماوند
    سن
    32
    پست
    287

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    نقل قول نوشته شده توسط HOSSEINONLINE7 مشاهده تاپیک

    من هرکاری میکنم هر 2 DataContext ها با هم تداخل داره .

    چطور ِDataContext ها را مدیریت میکنید ؟
    شما چه اصراری دارید دوتا DbContext داشته باشید؟ چرا از همون یک DbContext ای که از IdentityDbContext مشتق شده استفاده نکنید؟

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

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    سلام دوست عزیز من همون اول خدمتتون عرض کردم یکی از دوستان هم درمیانه همین پست تکرار کرده است کار شما باید از ابتدا و با اصول MVC پیاده سازی شه برای همین توی یه چرخه افتادید .
    همینطور که دوستمون گفتند

    1- یک پروژه MVc ایجاد کنید و
    2- برای استفاده کامل از Identity مثال Identity رو روی پروژه نصب کنید
    3- نام کاربری و کلمه عبور پیشفرض رو تغییر دهید ،
    4 - نزدیک به 42 Identity Sample رو باید در چروژه به نام پروژه تغییر دهید .
    در صورتی که میخواهید به قسمت ثبت نام ایتمی اضافه کنید فبل از اجرا پروژه در IdentityModels.cs میتوانید اینها رو اضافه کنید
     public class User : IdentityUser
    {
    [Display(Name="نام")]
    public string FName { get; set; }
    [Display(Name = "نام خانوادگی")]
    public string Lname { get; set; }
    [Display(Name = "نام پدر")]
    public string FatherName { get; set; }
    [Display(Name = "کد ملی")]
    public string NationalCode { get; set; }

    و پروژه رو اجرا کنید
    ، این همه هم اذیت نمیشوید

  22. #22

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    نقل قول نوشته شده توسط mze666 مشاهده تاپیک
    شما چه اصراری دارید دوتا DbContext داشته باشید؟ چرا از همون یک DbContext ای که از IdentityDbContext مشتق شده استفاده نکنید؟
    منم همین کار را کردم .

    نقل قول نوشته شده توسط sunn789 مشاهده تاپیک
    سلام دوست عزیز من همون اول خدمتتون عرض کردم یکی از دوستان هم درمیانه همین پست تکرار کرده است کار شما باید از ابتدا و با اصول MVC پیاده سازی شه برای همین توی یه چرخه افتادید .
    همینطور که دوستمون گفتند

    1- یک پروژه MVc ایجاد کنید و
    2- برای استفاده کامل از Identity مثال Identity رو روی پروژه نصب کنید
    3- نام کاربری و کلمه عبور پیشفرض رو تغییر دهید ،
    4 - نزدیک به 42 Identity Sample رو باید در چروژه به نام پروژه تغییر دهید .
    در صورتی که میخواهید به قسمت ثبت نام ایتمی اضافه کنید فبل از اجرا پروژه در IdentityModels.cs میتوانید اینها رو اضافه کنید
     public class User : IdentityUser
    {
    [Display(Name="نام")]
    public string FName { get; set; }
    [Display(Name = "نام خانوادگی")]
    public string Lname { get; set; }
    [Display(Name = "نام پدر")]
    public string FatherName { get; set; }
    [Display(Name = "کد ملی")]
    public string NationalCode { get; set; }

    و پروژه رو اجرا کنید
    ، این همه هم اذیت نمیشوید
    دوستان این یک پروژه هست که به عنوان نمونه ایجاد کردم و Identity هم بهش اضافه شده . دانلود کنید و اجرا بگیرید تا متوجه کاری که میخوام بکنم و مشکل بشید .

    http://www.mediafire.com/download/u0...MVCIdentity.7z

    اول این توضیحات من را بخونید و بعد پروژه را اجرا کنید :

    در فولدر Model ->Entity کلاس Post را اضافه کردم :
    public class Post
    {
    public int Id { get; set; }

    public string Title { get; set; }

    public virtual AspNetUsers Users { get; set; }
    public virtual byte[] RowVersion { get; set; }
    }


    همچنین یک کلاس هم بنام AspNetUsers هست که از IdentityUser ارث بری شده :
      public class AspNetUsers : IdentityUser
    {

    public virtual ICollection<Post> Post { get; set; }

    }


    این 2 کلاس با Navigation Property به هم متصل میشن .

    در فولدر Context هم ِDbContext هست که ار IdentityDbContext ارث بری شده و Migration براش فعال شده .

    در کنترلر Home این را نوشتم :
     public ActionResult Index()
    {
    DbContext db = new DbContext();

    Post post = new Post();

    db.Posts.Add(post);
    db.SaveChanges();

    return View();
    }


    تا دیتابیس با اجرا پروژه ساخته بشه .


    خوب حالا پروژه را اجرا کنید . صفحه ی اول که باز شد دیتابیس ساخته میشه . تا اینجا مشکلی نیست . (بریدSqlServer ببینید)

    حالا برید به قسمت Register ویک کاربر ثبت نام کنید .(Validation پسورد را غیرفعال کردم تا راحت باشید) میبینید که موقع ثبت نام خطا میده .

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

    دوستان پیشاپیش بابت راهنمایی تشکر ...
    آخرین ویرایش به وسیله HOSSEINONLINE7 : دوشنبه 17 شهریور 1393 در 13:58 عصر

  23. #23

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    یعنی این همه برنامه نویس اینجا هست هیچ کس از این امکانات استفاده نمیکنه ؟ چیز سخت و پیچیده ایی نیست .

    این پروژه که بالا گذاشتم نمونه کده چیزی نداره . لطفا دانلود و ارورش را رفع کنید یا یک پروژه ی ساده خودتون ایجاد کنید و Identity را بهش اضافه و کلاس User را با یک کلاس دیگه از خودتون بینشون Relation برقرار کنید تا من متوجه بشم .

    خواهش میکنم ...

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

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    دوست عزیز این رو ببین میتونی اجرا کنی
    وبلاگ شخصی من هست اگر دیدی نشد بفرما یه پروژه ایجاد کنم براات بفرستم ، البته روی سیستم من VS 2013.3 نصب شده

  25. #25

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    نقل قول نوشته شده توسط sunn789 مشاهده تاپیک
    دوست عزیز این رو ببین میتونی اجرا کنی وبلاگ شخصی من هست اگر دیدی نشد بفرما یه پروژه ایجاد کنم براات بفرستم ، البته روی سیستم من VS 2013.3 نصب شده
    من یک پروژه ی MVC5 ایجاد کردم که Identity 1 پیش فرض روش نصب بود . متوجه شدم مشکلی که با Identity 2 دارم اینجا هیچ ایرادی نداره و پروژه کار میکنه . رفتم روی همون Identity 2 تمام اون 42 - 43 نام پروژه ایی که گفتید باید تغییر بدم را انجام دادم . به احتمال زیاد مشکل همینه ولی با اجرای پروژه خطا میده :





    دیگه چیزی برای تغییر نبود . این قسمت نمیدونم مربوط به کجاست که باید تغییر کنه !

    من از دستور
    Install-Package Microsoft.AspNet.Identity.Samples -Pre


    برای نصب Identity 2 استفاده میکنم . سوئیچ های مختلف را امتحان کردم تا پیش فرض با نام پروژه ی خودم نصب بشه ولی کار نمیکنه .

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

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    بهترین راه تغییر اینه که با استفاده از ctrl+f در کل پروژه جستجو کنی و با ایتفاده از اهمان پنل کوچیک که داری باهاش توی کل پروژه جستجو میکنی نام پروژه رو توی قسمت repalce بگذار و تمامی نامهای identitySample را یکجا به نام پروژه تغییر بدهید ، که در این صورت نباید این نام قرمز رنگی که توی global هست دیده شود و به نام پروژه تغییر پیدا کرده باشد ، اونوقت تمام پروژه رو اجرا کن اما یادتان باشد برای اولین بار قبل از ایجا Migration با نام کاربری وارد برنامه شوید در غیر اینصورت پروژتون دچار مشکل میشود

  27. #27

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    چرا وقتی بین جدول خودم و جدول Identity User میخوام Relation برقرار کنم خطا میده ؟



    حتی کلید جدول خودم را هم از نوع Guid گذاشتم بازم همین ارور را میده !

  28. #28

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    حسین جان پروژه ای که گذاشته بودی رو دانلود کردم و تغییرات مورد نیاز رو روی اون اعمال کردم. برای من که نتیجه داد و دیاگرامش به صورت زیر شد:

    pro.jpg
    پروژه رو از لینک زیر میتونی دانلود کنی و تست بگیری ازش.
    http://www.mediafire.com/download/gg...VCIdentity.rar
    در جریانم بذار

  29. #29

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    نقل قول نوشته شده توسط mohammadreza.najafipour مشاهده تاپیک
    حسین جان پروژه ای که گذاشته بودی رو دانلود کردم و تغییرات مورد نیاز رو روی اون اعمال کردم. برای من که نتیجه داد و دیاگرامش به صورت زیر شد:

    pro.jpg
    پروژه رو از لینک زیر میتونی دانلود کنی و تست بگیری ازش.
    http://www.mediafire.com/download/gg...VCIdentity.rar
    در جریانم بذار
    مرسی محمدرضا جان خیلی لطف کردی بالاخره جواب داد

    سناریو DbContext را کجا باید مشخص کنیم ؟ من میخوام Migration براش فعال باشه.

  30. #30

    نقل قول: نحوه ی اضافه کردن Identity به لایه های پروژه

    خوب دوستان برای تکمیل این تاپیک من جواب سوال قبل خودم را هم پیدا کردم .

    توضیح میدم تا اگر کسی میخواست استفاده کنه .

    برای فعال کردم Migration در Identity 2 باید بصورت زیر در Identity Model این کار را انجام بدید :

     public ApplicationDbContext()
    : base("DefaultDatabase", throwIfV1Schema: false)
    {
    Database.SetInitializer(new MigrateDatabaseToLatestVersion<ApplicationDbContex t, MvcApp.Migrations.Configuration>("DefaultDatabase" ));
    }


    در ضمن در Dbcontext خودتون نیازی نیست دیگه کاری بکنید و همینجا با این دستور Migration را برای کل دیتابیس فعال میکنه .

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

  1. سوال: نحوه اضافه کردن کتابخانه و کامپوننت های Telerik به #C
    نوشته شده توسط iranfordo در بخش C#‎‎
    پاسخ: 0
    آخرین پست: دوشنبه 15 اردیبهشت 1393, 11:18 صبح
  2. اضافه کردن skin به فرم های پروژه
    نوشته شده توسط mohammad_king62 در بخش VB.NET
    پاسخ: 11
    آخرین پست: یک شنبه 18 فروردین 1392, 22:15 عصر
  3. اضافه کردن Item به منوی های ویندوز
    نوشته شده توسط dr_g در بخش برنامه نویسی در 6 VB
    پاسخ: 13
    آخرین پست: شنبه 07 مرداد 1385, 17:33 عصر
  4. اضافه کردن و خواندن فایل های Res
    نوشته شده توسط Delphi_Developer در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: سه شنبه 10 خرداد 1384, 02:52 صبح
  5. اضافه کردن عکس به دکمه های تولبار
    نوشته شده توسط i_naderpour در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: پنج شنبه 26 شهریور 1383, 00:53 صبح

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

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