微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在ASP.NET MVC中设置Session变量后,ClaimsIdentity会自动更改为WindowsIdentity

如何解决在ASP.NET MVC中设置Session变量后,ClaimsIdentity会自动更改为WindowsIdentity

我有一个使用Azure AD身份验证的MVC应用程序。登录功能可与活动目录配合使用,在该目录下,我可以按预期检索用户的Claims。但是,一旦用户登录,我就会为不同的Session变量设置一些数据。一旦设置了这些变量,并且用户退出应用程序并在检索到的Claims中重新登录,则显示为空/空。问题似乎在于,一旦设置了Session变量,ClaimsIdentity就会自动切换到WindowsIdentity。关于为什么发生这种情况以及如何解决这个问题的任何想法?。

这是我获得索赔的代码

 public class HomeController : Controller
 {
    public ActionResult Index()
    {
        
        var claims = User.Identity as ClaimsIdentity;

        string userName = claims.Name;

        if (userName != "")
        {
            Session["mCompanyID"] = 1;
        }

        return View();
    }
 }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。