0
https://docs.asp.net/en/latest/security/authorization/policies.htmlとしてカスタムポリシー=ベース認証を実装しました。asp.netコアによるカスタムポリシーベースの認証、ビューの問題
これは、コントローラで[Authorize]でアクセスしたときに成功しました。しかし、私は私のビューでそれを以下のように使用しようとしました。私はcontext.Resourceが問題になっている。
私はmvcを使い慣れているので、どんな助けにも感謝しています。
あなたはViewContextで設定リソースパラメータでAuthorizeAsyncのオーバーロードメソッドを使用することができますビューで見る
@if (await AuthorizationService.AuthorizeAsync(User, "IsRegisteredUser"))
{
<li><a asp-area="" asp-controller="Solution" asp-action="Index">Solutions</a></li>
}
認証ハンドラ
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, IsRegisteredUserRequirement requirement)
{
if(context.User.Identity.IsAuthenticated)
{
var mvcContext = context.Resource as Microsoft.AspNetCore.Mvc.Filters.AuthorizationFilterContext;
}
return Task.CompletedTask;
}