gpt4 book ai didi

c# - 如何在表单例份验证中将 User.Identity.IsAuthenticated 的值设置为 false

转载 作者:行者123 更新时间:2023-11-30 15:31:43 24 4
gpt4 key购买 nike

我有一种情况,我也想输入匿名用户的详细信息。所以我在个人资料中为他们创建了一个用户 ID。当我设置用户详细信息时

FormsAuthentication.SetAuthCookie(username, true);

我想要与 User.Identity.Name 用户名相关的详细信息,但 User.Identity.IsAuthenticated 为 false。现在我明白了。我只想在特定登录后将其设置为 true。

最佳答案

FormsIdentity 类被固定为始终返回 true。所以这是无法改变的。只要名称不为空,即使是 GenericIdentity 也会返回 true。

解决方法是创建您自己的 IIdentity 实现,并替换 Global.asax 中 Application_PostAuthenticateRequest 事件中的表单标识。这是一种经过验证的安全解决方案。

另请考虑您是否真的想这样做。最好的做法是,未经身份验证的用户是匿名的,他们没有名字,而且内置身份类以这种方式工作的原因也很详细。

关于c# - 如何在表单例份验证中将 User.Identity.IsAuthenticated 的值设置为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20265954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com