在Kentico 9中开始用户模拟时激发自定义方法

在Kentico 9中开始用户模拟时激发自定义方法,kentico,Kentico,我们在肯蒂科9号。当用户登录我们的网站时,会为该用户设置cookie。但是,当我登录到管理站点,然后模拟用户时,cookie仍然保存有关我的用户(而不是模拟用户)的信息。我希望将cookie替换为保存模拟用户信息的cookie。因此,我需要一个在模拟开始时激发的方法。Kentico是否提供了一种连接到模拟过程以触发自定义方法的方法 我发现当您模拟用户时会调用AuthenticationHelper.ImpersonateUser方法 我看到的唯一调用此方法的地方是~\CMSAdminContro

我们在肯蒂科9号。当用户登录我们的网站时,会为该用户设置cookie。但是,当我登录到管理站点,然后模拟用户时,cookie仍然保存有关我的用户(而不是模拟用户)的信息。我希望将cookie替换为保存模拟用户信息的cookie。因此,我需要一个在模拟开始时激发的方法。Kentico是否提供了一种连接到模拟过程以触发自定义方法的方法

我发现当您模拟用户时会调用AuthenticationHelper.ImpersonateUser方法


我看到的唯一调用此方法的地方是
~\CMSAdminControls\UI\UserMenu.ascx.cs
~\CMSModules\Membership\Pages\Users\User\u Edit\u General.aspx.cs
,但我不确定是否要修改这些代码文件。

您可以尝试专门使用。这是你的电话号码。尝试连接到一个全局事件(如Authenticate),看看它是否适合您。

如果公共、经过身份验证的非内容编辑器用户没有专门使用Kentico的模拟功能,那么您只是通过模拟用户来错误地执行测试。您应该在私人窗口中执行测试。使用全局事件处理程序覆盖CMS cookie将在您四处导航和取消模拟时导致问题

我不想覆盖CMS cookie,而是针对我们网站的不同定制cookie。我不太明白你所说的“在私人窗口中测试”是什么意思。你的意思是IE“InPrivate”窗口吗?你的公共用户设置中是否包含“模拟用户”?如果不是,为什么不强制这个自定义cookie进行身份验证呢?身份验证事件是在您模拟用户时触发的,因此您应该能够在身份验证事件中捕获此事件,并仍然编写cookie。@BrendanKehren听起来很合理。当我回到这个话题时,我会调查的。谢谢