我正在开发一个应用程序,用户使用不同的身份提供程序登录。 Owin中间件创建.AspNet.ApplicationCookies。我想检查它是否存在,它是否包含一些数据。我怎么能这样做?
答案 0 :(得分:2)
此Cookie由OWIN加密,无法作为原始Cookie数据轻松访问。但是,如果您在控制器或视图中执行此操作,则可以检查用户是通过HttpContext.Current.User.Identity.IsAuthenticated
登录还是仅通过User.Identity.IsAuthenticated
登录。
如果您提出声明(这是将数据添加到cookie中的最佳方式),您可以通过((ClaimsPrincipal)HttpContext.Current.User).Claims
检查当前登录用户的声明列表 - 这基本上是字符串的键值列表。身份提供者的名称也将存储在那里。