c# - Kentico GetUserDataFromAuthCookie() 返回 null
问题描述
我正在开发示例 K10 公司网站。在 SignOutButton.ascx.cs 上,我将调用移至,GetUserDataFromAuthCookie()
因此断点总是会像这样命中:
if (AuthenticationHelper.IsAuthenticated())
{
string[] userData = AuthenticationHelper.GetUserDataFromAuthCookie();
}
我确定浏览器正在存储 cookie,因为当我使用保持登录选项时,我保持登录状态。但是,GetUserDataFromAuthCookie()
始终返回 null。
这仅在用户使用 WindowsLiveID 进行身份验证时才有效吗?
干杯,
罗里
解决方案
如果您查看SignOutButton.ascx.cs userdata 的源代码,仅在 condition 内可用 if (!String.IsNullOrEmpty(CMSContext.CurrentUser.UserSettings.WindowsLiveID))
。助手只是调用内部的标准 asp.net 方法从表单身份验证票中获取userdata 属性,除非您自己在身份验证票 userdata中保存了一些东西- 没有什么可获取的。我假设在使用 WindowsLiveID 时,一些信息会保存在用户数据中。所有其他时间它都是空的。UserData 是一个有用的地方,用于放置通常需要的有关用户的少量信息。除非你把自己放在那里,否则它是空的。
推荐阅读
- typo3 - 如何在 TYPO3 v9 (2018) 中创建 Fluid Extension Provider
- java - 检查参数化谓词之间的相等性
- python - 如何使用python根据特定条件删除父+子节点
- python - Python中的数据分布
- c# - 检测客户端或服务器模式
- rest - 在 REST 调用中返回多个资源
- ios - 如何使用警报控制器添加警报消息?
- identityserver4 - 在 IdentityServer4 中自定义单点登录
- javascript - 将 HTML/JavaScript 项目导入 Eclipse 时消除错误的 JRE 警告
- javascript - 为什么动态添加的字段不通过单击删除按钮删除?