小编ahp*_*ahp的帖子

尚未为此应用程序配置会话或使用 IHttpContextAccessor 时请求错误

我在 .NET 6 Core 中创建了自定义授权策略。它可以很好地满足我的要求,但是我在调​​试时发现错误 - 尚未为此应用程序或请求配置会话。但我已经在我的program.cs 中配置了会话。如果在调试中显示此错误,是否还需要为会话配置某些内容?

调试错误屏幕截图:https://pasteboard.co/RuiKarjvJPuP.png

授权处理程序:

using Microsoft.AspNetCore.Authorization;

namespace myApp.Security
{
    public class CrudAccessHandler : AuthorizationHandler<AccessRequirement>
    {
        private readonly IHttpContextAccessor httpContextAccessor;

        public CrudAccessHandler(IHttpContextAccessor httpContextAccessor)
        {
            this.httpContextAccessor = httpContextAccessor ?? throw new ArgumentNullException(nameof(httpContextAccessor));
        }
        protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, AccessRequirement requirement)
        {
            string? controllerName = httpContextAccessor.HttpContext?.Request.RouteValues["controller"]?.ToString();

            string? actionName = httpContextAccessor.HttpContext?.Request.RouteValues["action"]?.ToString();

            if (controllerName != null && actionName != null)
            {
                if (context.User.HasClaim(claim => (claim.Type == controllerName && claim.Value == actionName)))
                {
                    context.Succeed(requirement);
                }
            }

            if (controllerName != …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core-mvc .net-core asp.net-core .net-6.0

4
推荐指数
1
解决办法
4733
查看次数

标签 统计

.net-6.0 ×1

.net-core ×1

asp.net-core ×1

asp.net-core-mvc ×1

c# ×1