zoukankan      html  css  js  c++  java
  • Asp.net Identity 2.0 作弊条

    Moving ASP.NET Identity model to class library

    http://stackoverflow.com/questions/23446919/moving-asp-net-identity-model-to-class-library

    To move the IdentityModel into a class library (which is the right thing to do according to the SRP), follow these steps:

    1. Create a class library. (ClassLibrary1)
    2. Using NuGet, add a reference to Microsoft.AspNet.Identity.EntityFramework. This will also auto-add some other references.
    3. Add a reference in your website to ClassLibrary1
    4. Find WebSite/Models/IdentityModel.cs and move it to ClassLibrary1.
    5. Make IdentityModel.cs look like this:

      public class ApplicationUser : IdentityUser
      {
      }
      
      public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
      {
          public ApplicationDbContext()
              : base("YourContextName")
          {
          }
      }
    6. Make sure your website's Web.config has YourContextName pointing to the right database in the section. (Note: this database can and should house your application data).

      <add name="YourContextName" connectionString="YourConnectionStringGoesHere"
        providerName="System.Data.SqlClient" />
    7. Make your EF Context class inherit from your ApplicationDbContext:

      public class YourContextName : ApplicationDbContext
      {
          public DbSet<ABizClass1> BizClass1 { get; set; }
          public DbSet<ABizClass2> BizClass2 { get; set; }
          // And so forth ...
      }

    When anyone in your site tries to log in or register, the Identity system will route them to your database with all your data which includes the Identity tables.

     

    Use Username instead of Email for identity

    http://stackoverflow.com/questions/27501533/use-username-instead-of-email-for-identity-in-asp-net-mvc5

    In case anyone else gets here from a google search it is actually very easy to do this. If you look at the register post action it is simply setting the UserName to the Email address. So.........

    Add UserName to the RegisterViewModel and add it to the register view.

    <div class="form-group">
            @Html.LabelFor(m => m.UserName, new { @class = "col-md-2 control-label" })
            <div class="col-md-10">
                @Html.TextBoxFor(m => m.UserName, new { @class = "form-control", @placeholder = "Username or email" })
            </div>
    </div>

    In the Register Post Action on the AccountController set the UserName to the ViewModel's UserName and the Email to the ViewModel's Email.

    var user = new ApplicationUser { UserName = model.UserName, Email = model.Email };

    Change AspNet Identity table names 

    http://stackoverflow.com/questions/19460386/how-can-i-change-the-table-names-when-using-visual-studio-2013-aspnet-identity

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder); // This needs to go before the other rules!
    
        modelBuilder.Entity<ApplicationUser>().ToTable("User");
        modelBuilder.Entity<IdentityRole>().ToTable("Role");
        modelBuilder.Entity<IdentityUserRole>().ToTable("UserRole");
        modelBuilder.Entity<IdentityUserClaim>().ToTable("UserClaim");
        modelBuilder.Entity<IdentityUserLogin>().ToTable("UserLogin");
    }

    Make email as non unique

    http://stackoverflow.com/questions/27501533/use-username-instead-of-email-for-identity-in-asp-net-mvc5

    Configure below in IdentityConfig.cs

    manager.UserValidator = new UserValidator<ApplicationUser>(manager)
    {
         AllowOnlyAlphanumericUserNames = false,
         RequireUniqueEmail = false                
    };

    Change password rules

    Configure in IdentityConfig.cs

    PasswordValidator = new PasswordValidator
    {
        RequireDigit = false,
        RequireLowercase = false,
        RequireNonLetterOrDigit = false,
        RequireUppercase = false,
        RequiredLength = 2
    };
  • 相关阅读:
    【转】MyEclipse项目的字符编码设置
    【转】VS2008中 ATL CLR MFC Win32 区别
    【转】字符数组与字符指针
    【转】How to: Convert Between Various String Types
    【转】ATL基础BSTR CComBSTR SysAllocString
    【转】PHP ini_set ini_get 可操作配置参数列表
    【转】字符、字符数组、char、string的区别分析
    【转】PHP 计算页面执行时间
    【转】Java 如何判断String为空?
    【转】Converting char array to BSTR
  • 原文地址:https://www.cnblogs.com/heuyang/p/5709734.html
Copyright © 2011-2022 走看看