ASP.net Identity无法登录

时间:2014-02-23 22:52:26

标签: asp.net asp.net-mvc azure asp.net-mvc-5 asp.net-identity

我正在使用Asp.net身份,我已将我的Web角色部署到Azure,并在Web.config中更改了我的连接字符串,所以它看起来像这样:

   <connectionStrings>
    <add name="DefaultConnection" connectionString="Server=SERVERNAME,1433;Database=DATABASE;User ID=USER;Password=PASSWORD;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;MultipleActiveResultSets=True;" providerName="System.Data.SqlClient" />
  </connectionStrings>

我没有更改默认帐户控制器,但是当我尝试登录时,除了URL更改为“/ Account / Login?ReturnUrl =%2FRoutines”之外没有任何事情发生,如果用户成功登录,则会发生这种情况(没有显示错误) )

为什么会这样? (以及如何解决它)

修改

以下是配置ASP.net标识的代码

public class DatabaseContext : IdentityDbContext<User>
    {
        public DatabaseContext()
            : base("DefaultConnection")
        {
            Configuration.LazyLoadingEnabled = true;

        }
     }


  protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        modelBuilder.Entity<IdentityUser>()
            .ToTable("Users");
        modelBuilder.Entity<User>()
            .ToTable("Users");

        var usermapping = new UserMapping();
        usermapping.MapUser(modelBuilder);
    }

我注意到现在即使我使用LocalDb我也无法登录,我不知道为什么会这样,因为我没有更改我的代码,只更改了我对项目所做的更改添加了Azure Web服务和Asp.net web Api 2项目(当我在本地测试时,我没有运行我的web api项目),在此之前一切正常。

2 个答案:

答案 0 :(得分:0)

您确定在部署时(在Web.config.release中)确实使用了您的连接吗? 如果您是,请尝试在本地测试网站(使用Azure SQL连接字符串)并逐步执行POST版本的Login代码。你应该能够看到,究竟发生了什么。您可能需要从IP地址启用对SQL的访问,这很容易 - 只需转到Azure门户,单击您的SQL数据库,然后在下面选择Manage,它将自动询问您的IP地址访问权限。 / p>

答案 1 :(得分:0)

我不知道我到底发生了什么,但是我从TFS获取了旧版本的解决方案,这有助于(尽管代码相同)