2014-02-23 162 views
0

我使用Asp.net的身份和我已經部署了我的網絡角色Azure以及在Web.config中改變了我的連接字符串,所以它看起來是這樣的:ASP.net身份無法登錄

<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我可以't登錄,我不知道這是爲什麼,因爲我沒有更改我的代碼,只是對該項目所做的更改是添加了Azure Web服務和Asp.net web Api 2項目(並且當我已經測試過本地我沒有運行我的web api項目),在這之前一切正常。

回答

0

我不知道我究竟發生了,但我已經取舊版本的TFS從解決方案,這有助於(雖然前夕代碼爲相同)

0

確定您的連接在部署(在Web.config.release中)時是否真正使用? 如果您是這樣,請嘗試在本地測試網站(使用Azure SQL連接字符串),並逐步完成POST版本的Login代碼。你應該能夠看到,究竟發生了什麼。您可能需要從您的IP地址啓用對SQL的訪問權限,這很容易實現 - 只需轉到Azure門戶,單擊SQL數據庫並在下方選擇管理,這會自動詢問您的IP地址訪問權限。

+0

我檢查了發行版本和它的存在,也是我的IP位於允許的IP列表中,並且我已調試登錄部分代碼,並且一切正常,但出於某種原因,我仍未登錄 – hyperN

+0

您如何確定您「未登錄」?這是你的應用的不同部分的問題嗎? –

+0

那麼,當我去我必須登錄的應用程序的一部分,爲了看到它(我使用[授權]屬性)我重定向到/帳戶/登錄,然後我再次登錄,但沒有發生 – hyperN