我正在使用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项目),在此之前一切正常。
答案 0 :(得分:0)
您确定在部署时(在Web.config.release中)确实使用了您的连接吗? 如果您是,请尝试在本地测试网站(使用Azure SQL连接字符串)并逐步执行POST版本的Login代码。你应该能够看到,究竟发生了什么。您可能需要从IP地址启用对SQL的访问,这很容易 - 只需转到Azure门户,单击您的SQL数据库,然后在下面选择Manage,它将自动询问您的IP地址访问权限。 / p>
答案 1 :(得分:0)
我不知道我到底发生了什么,但是我从TFS获取了旧版本的解决方案,这有助于(尽管代码相同)