CKFinder 3 – ASP.NET 连接器文档
调试和日志记录

简介

有时 CKFinder ASP.NET 连接器可能无法正常工作。这可能是由于配置无效、权限不足、缺少依赖项等原因造成的。在这种情况下,连接器将发送一个默认情况下仅包含有关错误的通用信息的响应。

错误可能发生在不同的阶段

  • 当应用程序启动且 CKFinder 无法正确初始化时,这可能会导致 UI 未渲染(启动错误)。
  • 当应用程序正确初始化且用户尝试在 CKFinder 中执行操作时(常规错误)。

使用通用错误消息,因为它们不会泄露任何潜在的敏感信息(如服务器路径),这些信息可能会被怀有敌意的黑客恶意使用。

根据情况,通用错误消息可能不足以让配置 CKFinder 的开发人员理解发生的准确错误以及原因。本文解释如何从这种情况中恢复。

示例 1 – 启动错误

当 CKFinder 启动并配置为使用不存在的文件夹且 CKFinder 没有足够的写入权限来创建它时,它将返回一个通用错误消息

未找到文件夹。请刷新并重试。

由于错误发生在应用程序启动过程中的早期阶段,因此应用程序将无法加载。如果没有访问文件系统的权限,CKFinder 实际上无法显示任何文件,因此用户将只能看到通用错误消息。

示例 2 – 常规错误(文件重命名失败)

CKFinder 已正确配置,文件在 CKFinder 中正确列出,用户可以查看文件。

当用户尝试重命名文件,但文件权限不允许这样做时,CKFinder 将显示一个通用错误消息

由于文件系统权限限制,无法完成请求。

示例 3 – 常规错误(文件上传失败)

CKFinder 已正确配置,文件在 CKFinder 中正确列出,用户可以查看文件。

当用户尝试上传文件,但文件权限不允许这样做时(例如,当 SELinux 阻止它或因为文件夹权限设置为 0755 且目标文件夹的所有者与运行 Web 服务器进程的用户不同),CKFinder 将显示一个通用错误消息

由于文件系统权限限制,无法完成请求。

CKFinder 日志文件

默认情况下,日志文件创建在 /ckfinder/App_Data/logs 目录中。

出于调试目的,请确保您已使用 enableVerboseLogging 选项启用了详细日志记录。请参阅 连接器配置

默认日志记录器适配器使用 NLog 库。日志记录器配置文件名为 NLog.config,包含一些您可能发现有用的配置选项。有关其结构的更多信息,请参阅 GitHub 上的官方 NLog Wiki