CKFinder 中的私有文件夹
Private folders in CKFinder
我 运行 CKFinder/CKEditor 通过 Apache Tomcat,使用 Java 和 JavaScript。有几个项目,问题是我不能阻止一个项目的人访问为另一个项目存储的图像。我想简单地动态更改 BaseURL,但我似乎做不到。有什么办法可以让每个用户拥有自己的文件夹,并且只有他们可以访问?
至少有一些方法可以在 CKFinder 2 中为 Java 动态修改路径。
使用分配给 CKFinder 实例的 id
如果您为 CKFinder 实例分配一个 ID,则此 ID 将在每次请求时传递给服务器连接器。您可以将其用作令牌并将每个唯一 ID 转换为服务器端的正确服务器路径。确保使用 long/complex 散列,以便用户无法通过轻松操纵 ID 访问他们不应访问的路径。
这种方法的优点是您可以为每个 CKFinder 实例分配一个不同的 baseUrl/baseDir,例如为每篇文章的图像等分配单独的文件夹等。
会话变量
另一种选择是使用会话变量。用户登录后,将适当的 baseDir/baseUrl 变量存储在会话变量中。
在外部设置 CKFinder 配置 config.xml
为了使用 id 或 session,您需要能够告诉 CKFinder 使用它们。有关如何在您自己的 class 中动态修改 CKFinder 配置的更多详细信息,请查看文档:http://docs.cksource.com/CKFinder_2.x/Developers_Guide/Java/Configuration/Extending
我 运行 CKFinder/CKEditor 通过 Apache Tomcat,使用 Java 和 JavaScript。有几个项目,问题是我不能阻止一个项目的人访问为另一个项目存储的图像。我想简单地动态更改 BaseURL,但我似乎做不到。有什么办法可以让每个用户拥有自己的文件夹,并且只有他们可以访问?
至少有一些方法可以在 CKFinder 2 中为 Java 动态修改路径。
使用分配给 CKFinder 实例的 id
如果您为 CKFinder 实例分配一个 ID,则此 ID 将在每次请求时传递给服务器连接器。您可以将其用作令牌并将每个唯一 ID 转换为服务器端的正确服务器路径。确保使用 long/complex 散列,以便用户无法通过轻松操纵 ID 访问他们不应访问的路径。
这种方法的优点是您可以为每个 CKFinder 实例分配一个不同的 baseUrl/baseDir,例如为每篇文章的图像等分配单独的文件夹等。
会话变量
另一种选择是使用会话变量。用户登录后,将适当的 baseDir/baseUrl 变量存储在会话变量中。
在外部设置 CKFinder 配置 config.xml
为了使用 id 或 session,您需要能够告诉 CKFinder 使用它们。有关如何在您自己的 class 中动态修改 CKFinder 配置的更多详细信息,请查看文档:http://docs.cksource.com/CKFinder_2.x/Developers_Guide/Java/Configuration/Extending