WebAPI - 为什么在无状态模式下需要设置主体

本文关键字:设置 主体 模式 状态 为什么 WebAPI | 更新日期: 2023-09-27 18:35:04

我很困惑为什么在WebAPI中需要设置主体,因为每次调用都是完全无状态的。使用您登录的用户信息进行设置有什么好处和原因,因为每个呼叫都应该是完全无状态的?

我的印象是,一个登录用户正在获得服务器创建的令牌,这是每次调用时需要来回发送的密钥,直到用户决定注销或令牌过期?

public Product Get(int id)
{
    string token = GetHeaderTokenSecurityAccess();
    return DataLayer.GetProduct(token, id);
}     

在这种情况下,"需要"设置IPrincipal的主要原因是什么?

WebAPI - 为什么在无状态模式下需要设置主体

Principal 是 。NET 的标识机制。

身份是一个包含所有层的概念,而不仅仅是 API 层。因此,下面的所有层都需要一种方法来访问当前调用方的标识,这是通过设置包含主体的线程本地存储上下文来实现的。