我们在Kentico 9.当用户登录我们的网站时,为用户设置了一个cookie。但是,当我登录管理站点,然后模拟用户时,cookie仍然保存有关我的用户(而不是模拟用户)的信息。我希望将Cookie替换为包含模拟用户信息的cookie。因此,我需要一种在模仿开始时触发的方法。 Kentico是否提供了一种挂钩模拟过程来触发自定义方法的方法?
我发现当您冒充用户时会调用方法AuthenticationHelper.ImpersonateUser
,但我找不到按照自己的方式行事的方式。
我看到此方法调用的唯一地方是~\CMSAdminControls\UI\UserMenu.ascx.cs
和~\CMSModules\Membership\Pages\Users\User_Edit_General.aspx.cs
,但我不确定是否要修改这些代码文件。
答案 0 :(得分:0)
您可以尝试global events专门使用Application events。这是example how to attach to global event。尝试连接到像Authenticate这样的全局事件,看看它是否适合你。
答案 1 :(得分:0)
如果公开的,经过身份验证的非内容编辑器用户没有专门使用Kentico的Impersonate功能,那么您只需模仿用户就可以错误地执行测试。您应该在私人窗口中执行测试。使用全局事件处理程序覆盖CMS cookie将导致导航时以及取消模拟时出现问题。