繁体   English   中英

我必须维护.net核心中每个用户会话不同的变量值

[英]I have to maintain value of variable which is different per user session in .net core

我已经在.net核心mvc应用程序中实现了基于策略的授权。 码:

  protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, ValidUserAuthorization requirement)
    {
        List<KeyValuePair<string, string>> parameters = new List<KeyValuePair<string, string>>
        {
            new KeyValuePair<string, string>("UserAlias", context.User.Identity.Name.Split('@')[0])
        };

        var isAuthorized = this.CubeServiceManager.GetDataFromService("CheckIfAuthorized", "GET", this.ConnectionStrings.BaseAddress, parameters);



        if (isAuthorized == "true")
        {
            context.Succeed(requirement);
        }



        return Task.CompletedTask;
    }

我在控制器级别添加了Authorize属性,该属性每次都会调用此Async方法。 如果isAuthorized的值为true,则对用户进行授权。 但是对于每个对异步方法的调用,都将进行服务调用以设置isAuthorized变量的值,我想为每个用户的每个会话缓存该值。 如何在此授权处理程序中执行此操作?

我建议使用memcached ,还将Enyim客户端移植到.Net Core: https : //github.com/cnblogs/EnyimMemcachedCore

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM