Kentico 从 v9 升级到 v10 后加载站点时出现安全异常
Security Exception when loading the site after Kentico upgrade from v9 to v10
将现有的 v9 网站升级到 Kentico 10 后,我在加载网站时遇到安全异常错误。然而,CMS 管理员加载正常。我已经在 web.config 中添加了 FULL 信任设置,但它不起作用。任何的想法?
尝试在管理 UI 页面应用程序中加载模板,然后检查事件日志应用程序,您应该会看到有关 SQL 错误的详细信息。您很可能有一个 SQL 调用试图从不再存在(通过升级)的列中获取一些数据。
问题,基于我可以看到的部分和异常类型将出现在新的 SQL 解析器中,该解析器已添加到 v9 的一个修补程序中,因此它是 v10 的一部分。
您似乎在使用 Web 部件中的一个属性,而不是通过 ##WHERE## 宏传递不完整的查询。如果 where 条件类似于 {%CurrentDocument.DocumentID%},则它不是有效的 WHERE,并且整个 属性 必须单独完成 SQL 语句,因此它可能类似于 DocumentID = { %CurrentDocument.DocumentID%}.
您可以在此线程中找到更多信息:
https://devnet.kentico.com/questions/invalid-sql-query-error-on-a-page
将现有的 v9 网站升级到 Kentico 10 后,我在加载网站时遇到安全异常错误。然而,CMS 管理员加载正常。我已经在 web.config 中添加了 FULL 信任设置,但它不起作用。任何的想法?
尝试在管理 UI 页面应用程序中加载模板,然后检查事件日志应用程序,您应该会看到有关 SQL 错误的详细信息。您很可能有一个 SQL 调用试图从不再存在(通过升级)的列中获取一些数据。
问题,基于我可以看到的部分和异常类型将出现在新的 SQL 解析器中,该解析器已添加到 v9 的一个修补程序中,因此它是 v10 的一部分。
您似乎在使用 Web 部件中的一个属性,而不是通过 ##WHERE## 宏传递不完整的查询。如果 where 条件类似于 {%CurrentDocument.DocumentID%},则它不是有效的 WHERE,并且整个 属性 必须单独完成 SQL 语句,因此它可能类似于 DocumentID = { %CurrentDocument.DocumentID%}.
您可以在此线程中找到更多信息:
https://devnet.kentico.com/questions/invalid-sql-query-error-on-a-page