头部安全的静态变量,以保持登录用户

本文关键字:登录 用户 安全 静态 变量 头部 | 更新日期: 2023-09-27 18:11:41

我目前正在开发一个基于c# web API的web应用程序。

我正在考虑有一个静态变量来跟踪当前登录的用户。所以我不需要在控制器和模型之间来回传递session对象或user对象。

示例代码:

using System;
namespace Model.TwoScoopsOfASP
{
    public class SessionHelper
    {
        [ThreadStatic] public static Member.Member loggedMember;
    }
}

因为我对这个技术栈很陌生,所以我看不出这种方法是否有什么大问题。如果你能想到什么大问题,请帮我指出来。

注意:我还没有实现线程安全的单例模式,所以现在请忽略它。由于

头部安全的静态变量,以保持登录用户

必须依赖会话对象。这是最好的方法,否则如何在请求和发出请求的用户之间建立关系呢?当然,您必须将会话包装到一个巧妙的类中,以隐藏您依赖会话包的事实。另一种方法是使用代币……但我不认为你会想这样做,因为在幕后的会话只是另一种令牌…