ASP.NET认证问题:手动添加的声明在下一次请求中丢失。
创始人
2024-11-12 06:30:25
0

在ASP.NET中,我们可以手动添加声明来使原始标识更丰富。但是,手动添加的声明可能会在下一次请求中丢失。这是因为它们不会存储在身份验证cookie中。为了解决这个问题,我们需要将声明存储在身份验证cookie中。下面是一个示例:

在登录时添加声明:

var identity = new ClaimsIdentity(new[] {
    new Claim(ClaimTypes.Name, user.Name),
    new Claim(ClaimTypes.Email, user.Email),
    new Claim(ClaimTypes.Country, user.Country),
}, DefaultAuthenticationTypes.ApplicationCookie);

HttpContext.GetOwinContext().Authentication.SignIn(identity);

将声明存储在cookie中,这些声明在下一次请求中将可用。

在需要检索声明的任何地方使用以下代码:

var identity = (ClaimsIdentity)User.Identity;
IEnumerable claims = identity.Claims;
var country = claims.FirstOrDefault(c => c.Type == ClaimTypes.Country)?.Value;

以上代码将声明提取到变量“country”中。如果声明不存在,则它将为空。

相关内容

热门资讯

透视讲义!wepoker俱乐部... 透视讲义!wepoker俱乐部辅助器,hhpoker作必弊码(透视)真是有挂(哔哩哔哩)1、很好的工...
透视妙招!hhpoker软件可... 透视妙招!hhpoker软件可以玩吗,hhpoker德州透视(透视)确实是有脚本方法(哔哩哔哩)1、...
透视绝活儿!wepoker究竟... 透视绝活儿!wepoker究竟有没有透视,pokemomo辅助软件(透视)竟然是有挂(哔哩哔哩)1、...
透视指引!wepokerplu... 透视指引!wepokerplus到底是挂了吗,德州透视是真的吗(透视)其实真的有挂(哔哩哔哩)1、操...
透视烘培!德州之星扫描器,so... 透视烘培!德州之星扫描器,sohoo辅助(透视)好像存在有透视软件(哔哩哔哩)德州之星扫描器透视方法...
透视教材!hhpoker怎么防... 透视教材!hhpoker怎么防作必弊,hhpoker可以开挂吗(透视)本来有挂(哔哩哔哩)hhpok...
透视妙招!aapoker插件下... 透视妙招!aapoker插件下载,aapoker辅助软件合法吗(透视)原来存在有透视插件(哔哩哔哩)...
透视指南书!竞技联盟破解版最新... 透视指南书!竞技联盟破解版最新版,德普之星透视辅助插件(透视)原来真的是有挂(哔哩哔哩)德普之星透视...
透视妙计!德普辅助软件,德普之... 透视妙计!德普辅助软件,德普之星透视(透视)确实存在有透视工具(哔哩哔哩)1、德普之星透视透视辅助软...
透视模板!拱趴大菠萝挂怎么安装... 透视模板!拱趴大菠萝挂怎么安装,hhpoker辅助(透视)本来真的有挂(哔哩哔哩)1、透视模板!拱趴...