うまく動作する MVC 4 Web アプリケーションを作成しました。
のような行を追加しました
@if (User.IsInRole("Administrators"))
{
<td>Entered by</td>
}
ローカルには問題ありません。
それをきれいに...またはハードパブリッシュ(コントローラーで変更されたもの)とWHAM !!
App_Data サブディレクトリの作成中にアクセスが拒否されました
説明: セキュリティ上の理由から、ID 'IIS APPPOOL\ASP.NET v4.0' (この Web アプリケーションが実行されている) には、アプリケーションのルート ディレクトリ内に App_Data サブディレクトリを作成する権限がありません。ASP.NET は、Membership や Profile などのサービスに使用される Microsoft SQL Express データベース ファイルを、アプリケーションの App_Data サブディレクトリに格納します。
To grant the necessary permissions, follow these steps: In Windows Explorer, navigate to your application's directory. Create a folder named "App_Data": Right-click, choose "New" menu item, choose "Folder" sub-menu item, and then type "App_Data" (without quotes). Right-click on the "App_Data" subdirectory, within your application and select the "Properties" menu item. In the "Properties" dialog box that opens, select the "Security" tab.
Click Add
In the "Enter the object names to select" box, enter 'IIS APPPOOL\ASP.NET v4.0' (without quotes).
Click OK
Make sure the account name is selected and then under Allow, check Write
Click OK
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272
ログアウトしてその Web サイトに再度ログインすると、エラーはなくなり、そのページはうまく機能します。
次で表されるローカルサーバーに向けられた組み込みのメンバーシップを使用しています
LocalHost で:
<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;Initial
Catalog=aspnet-P****aker-2013062000841;
Integrated Security=SSPI" providerName="System.Data.SqlClient" />
生産時:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;Initial
Catalog=aspnet-Prop*****30******1;
User Id=Pr###A;Password=K###3;" providerName="System.Data.SqlClient"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
</connectionStrings>
ここが謎の部分です。 App_Data ディレクトリはまったくありません...そしてねえ...結局のところ...そもそもなぜあるべきなのか、私はそれを使用していません。私は独自のサーバー処理メンバーシップを持っています。
優しい心があるなら、指一本、二本、十本を貸してくれませんか。