我有一个使用WebSecurity助手进行身份验证的Razor网站。最初我在App_Data中有一个文件Users.sdf
,其中包含我的用户表进行测试,但我正在尝试迁移到Azure,因此我删除了.sdf,设置了一个SQL Azure数据库并添加了一个名为“Users”的连接字符串“到我的Web.config。我还将我的IP地址添加到数据库防火墙例外,以便我可以在本地进行测试。但是,当我尝试从WebMatrix运行该站点时,我得到以下不太有用的错误:
Server Error in '/' Application.
Login failed for user '[username]'.
[...]
Exception Details: System.Data.SqlClient.SqlException: Login failed for user '[username]'
“源错误”部分只是突出显示_AppStart.cshtml中对WebSecurity.InitializeDatabaseConnection
的(以前正在工作)调用。连接字符串基本上是从Azure数据库管理门户完全复制的,我知道登录信息是正确的,因为我已经用它来手动访问数据库,所以我不确定会发生什么。我已经看到了一些类似问题的其他SO问题,但它们似乎都涉及不正确的连接字符串或者处于不同的上下文中。
以下是我能想象的所有相关代码(因为失败发生在_AppStart中),但请告诉我是否还有其他问题需要添加:
_AppStart.cshtml:
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "UserName", true);
的Web.config:
<connectionStrings>
<add name="Users" providerName="System.Data.SqlClient"
connectionString="Data Source=tcp:xxxxxxxxxx.database.windows.net;
Database=LoginUsers;
User ID=[username]@xxxxxxxxxx; Password=[password];
Trusted_Connection=False;
Encrypt=True; MultipleActiveResultSets=True;" />
</connectionStrings>