我想知道为什么Sitecore建议使用UserSwitcher而不是SecurityDisabler。
我很好,例如,如果你在sitecore中添加项目,你可以使用UserSwitcher进行更多控制(只允许在特定文件夹中添加项目)
是否可以防止愚蠢的代码(我的意思是,哦,让我们删除/ Sitecore / Context ^^的所有孩子)?或者当你这样做时可能存在安全漏洞?
由于
答案 0 :(得分:4)
如果您使用UserSwitcher()
,您所做的一切都是在用户的上下文中完成的。用户可以是管理员,可以做任何事情。也许你想创建一个只有特定权限的“服务用户”,你可以使用这个用户做你想做的事。
如果您使用SecurityDisabler()
Sitecore将不会进行任何权限检查。实际上,结果与使用UserSwitcher()
和管理员的结果相同,但您无法控制上下文。
答案 1 :(得分:4)
部分是为了防止“不正确”的事情发生,我会说。你不能无意中做一些你不想要的事情,因为你无法访问它。
这样做的一个副作用是Sitecore将UserSwitcher
中提供的用户作为行动的名称,而不是“匿名”。