私はASP.NET Core 1.0プロジェクトを実行しています。私のアクションメソッドにClaimsPrinciplePermission属性を追加すると、その属性を持つアクションメソッドにナビゲートするときに次のエラーが発生します。web.configでsystem.identityModelが検出されない
は「System.InvalidOperationException」種類の例外は System.IdentityModel.Services.dllで発生したが、ユーザーコードで処理されなかった
追加情報:ID7024:ClaimsPrincipalPermissionの使用は 属性が試みられているとおそらく、 構成セクションが定義されていない可能性があります。詳しくは、内側の 例外を参照してください。また、ClaimsAuthorizationManager 要素がこのセクションの下で定義されていることを確認してください。
これは、内部例外
ID7027である:なし 構成セクションが見つからなかったため、アイデンティティコンフィギュレーションをロードできませんでした。
これは、あなたが見ることができるように、私はすべての必要なセクションを追加した
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--
Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
-->
<configSections>
<section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<section name="system.identityModel.services" type="System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
</configSections>
<system.identityModel.services>
<federationConfiguration>
<cookieHandler requireSsl="false" />
</federationConfiguration>
</system.identityModel.services>
<system.identityModel>
<identityConfiguration>
<claimsAuthorizationManager type="wApp.ClaimManager, wApp" />
</identityConfiguration>
</system.identityModel>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
</system.webServer>
</configuration>
私のweb.configファイルです。同じコードと設定は、MVC 5プロジェクトとWeb APIプロジェクトでうまくいきます。 Asp.Net Coreプロジェクトでは何か別のことがありますか?
また、コア1.0 MVCプロジェクトで必要なDLL参照を追加し、コア1.0 MVCプロジェクトのApp.configファイルと同じ構成セクションを複製しました。まだ同じエラーが発生しています。
私には何が欠けていますか?
スタートアップクラスでIDを設定するにはどうすればよいですか? .Net Coreはweb.configファイルを読み込みません。 –
AFAIK、ASP .NETコアは 'project.json'を設定ファイルとして使用しており、' web.config'ファイルと 'app.config'ファイルのどちらも使用されていません。すべての 'IdentityModel'参照をプロジェクトファイルに追加し、関連する依存関係が利用可能であることを確認してください。 –
@ TetsuyaYamamotoあなたはappsettings.jsonを意味しますか? configファイルの設定セクションをjsonフォーマットに変換する方法がわかりません。私が見つけることができる例はありません。 web.configが機能しない場合、なぜ新しいaspnetcoreプロジェクトを作成するときにプロジェクトで提供されるのですか? – user20358