データに SQL サーバーを使用する MVC4 アプリケーションがあります。シンプルなメンバーシップ プロバイダーもあり、そのテーブルは同じデータベースに格納され、両方とも同じ接続文字列を使用します。
<connectionStrings><add name="bazaConnectionString" connectionString="DataSource=WINSERVER;Initial Catalog=baza;Persist Security Info=True;User ID=visualstudio;Password=xxx" providerName="System.Data.SqlClient" />
Visual Studio でアプリケーションをテストすると、すべて正常に動作しますが、プロジェクトを発行して IIS8 Web サーバー (SQL サーバーと同じコンピューター上) にアタッチすると、単純なメンバーシップが機能しません。
最初は接続文字列に問題があると思いましたが、それを使用するアプリケーションの他の機能は正常に動作します。しかし、ログインなどのメンバーシップを使用するものをクリックするとすぐに、エラーが発生します。
- WinException 0x80004005 ファイルが見つかりません SqlException 0x80131904
- ネットワーク関連またはインスタンス固有のエラー
誰かがこれを手伝ってくれますか? そうしないと、すべてのコントローラーに独自のユーザー認証ロジックを書き込む必要があると思います。
更新:いくつかのことを試した後、問題は [Authorize] 属性と、ビジュアル スタジオが生成する accountController にあるようです。ログインなどの WebSecurity メソッドを呼び出すと、他の場所で機能するためです。