ckfinder的使用及了解config.xml的配置

ckfinder的使用及了解config.xml的配置ckfinder的使用,根据官网向导(CKFinder_2.x/Developers_Guide)自己写的笔记1、将ckfinder_java_2.4.3\CKFinder-Java-2.4.3\ckfinder目录放到根目录下面,WEB-INF/lib中的jar文件全部放到项目中的lib下面2、将config.xml放到WEB-INF目录下面3、修改config.xml文件下的配置    &l…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定
ckfinder的使用,根据官网向导(CKFinder_2.x/Developers_Guide)自己写的笔记
1、将ckfinder_java_2.4.3\CKFinder-Java-2.4.3\ckfinder目录放到根目录下面,WEB-INF/lib中的jar文件全部放到项目中的lib下面
2、将config.xml放到WEB-INF目录下面
3、修改config.xml文件下的配置 
    <enabled>true</enabled>     <!–修改为true,表示开启ckfinder功能。默认是false–!>      
4、  支持以下服务
    Tomcat 5.5-7,Jetty 7-9,JBoss 6-7,GlassFish 3.0-4.0,Weblogic 11g-12c. 
—————– 了解config.xml配置 ———————-

5、1)如果是购买ckfinder,需要更改config.xml

    <licenseKey>put your license name here</licenseKey>
    <licenseName>put your license key here</licenseName>

  2)配置ckfinder处理的资源路径,上传文件存放的路径。例如:

    <baseURL>/CKFinderJava/userfiles/</baseURL>
    <baseURL>http://example.com/CKFinderJava/userfiles/</baseURL>

  3)服务直接路径,图片上传后的位置,是物理地址的全路径而不是相对路径,最后加“/”

    <baseDir>/usr/tomcat-6.0.32/webapps/CKFinderJava/userfiles/</baseDir>
    <baseDir>C:\tomcat-6.0.32\webapps\CKFinderJava\userfiles\</baseDir>

   注意:如果baseDir设置不写,参考baseURL的路径。但是baseURL是网页地址时,不会覆盖

6、Access Control 访问权限,使ckfinder更安全
  1)在config.xml文件中添加以下语句:
   <accessControls>
    <accessControl>
        <role>*</role>   //设置用户类型
        <resourceType>*</resourceType>  //不同资源如images,flash,files
        <folder>/</folder>   //默认“/”是没有文件夹设置
        <folderView>true</folderView>   //以下设置true代表有效,false代表无效
        <folderCreate>true</folderCreate>
        <folderRename>true</folderRename>
        <folderDelete>true</folderDelete>
        <fileView>true</fileView>
        <fileUpload>true</fileUpload>
        <fileRename>true</fileRename>
        <fileDelete>true</fileDelete>
    </accessControl>
   </accessControls>
  2)在config.xml文件中配置用户角色session变量
   <userRoleSessionVar>CKFinder_UserRole</userRoleSessionVar>
  3)在java代码中合适的位置,比如login()方法里,添加以下代码。
     设置一个用户角色名,如“admin”
   HttpSession session = request.getSession(true);
   session.setAttribute(“CKFinder_UserRole”, “admin”);
  4)注意:系统会在访问yoursite/ckfinder2.3.1/ckfinder.html时(包括点击下图的“浏览服务器”按钮),
    检查CKFinder_UserRole的值是什么,它具有的权限是什么。如果一个人没有登录系统,而是直接访问
    yoursite/ckfinder2.3.1/ckfinder.html,那么系统就会检查到CKFinder_UserRole是null,
    他就看不到服务器上的文件。
7、ckfinder允许创建缩略图,使用设置的大小浏览图片
  1)设置缩略图参数
    <thumbs>
    <enabled>true</enabled>
    <url>%BASE_URL%_thumbs/</url>
    <directory>%BASE_DIR%_thumbs</directory>
    <directAccess>false</directAccess> //设置为true,直接从_thumbs文件夹中加载缩略图,其他目录下时不能使用
    <maxHeight>100</maxHeight>
    <maxWidth>100</maxWidth>
    <quality>80</quality>    //设置范围[0-100],可接受值是45左右,一般设置为80
    </thumbs>
  2)你也可以指定图片的上传大小,如果图片比设置范围大时,将会按指定的大小加载。
    <imgWidth>1600</imgWidth>
    <imgHeight>1200</imgHeight>
    <imgQuality>80</imgQuality> //范围是0-100
8、资源类型是不同路径下,组织文件的方法,每一种路径有着不同的配置,下面是两种资源类型:
  1) 内置的类型有三种files, images, and Flash objects. 
     在config.xml文件中已经进行了配置<type>…</type>,自己查看一下。
     <types>
    <type name=”Flash”>
        <url>%BASE_URL%flash/</url>   //url和directory的定义规则与baseURL和baseDir相同
        <directory>%BASE_DIR%flash</directory>
        <maxSize>0</maxSize>          //定义上传图片的字节大小,可以使用G,M,K单位
        <allowedExtensions>swf,flv</allowedExtensions>  //允许上传的格式
        <deniedExtensions></deniedExtensions>   //不允许长传的格式
    </type>
    <type name=”Files”>…</type>
    <type name=”Images”>…</type>
      </types>
  2)如果添加新的资源类型,也可以再config.xml中进行配置,例如:
     <types>
    <type name=”MSdocs”>
        <url>%BASE_URL%MSdocs/</url>
        <directory>%BASE_DIR%MSdocs</directory>
        <maxSize>2M</maxSize>
        <allowedExtensions>doc,ppt,xls</allowedExtensions>
        <deniedExtensions></deniedExtensions>
    </type>
     </types>
9、安全问题
   1)多个后缀文件读取时,不只是检查最后一个后缀名,如果设置.php文件不允许上传,而.rar文件允许上传,
    则foo.php.rar文件将不会被上传,将会被重命名为foo_php.rar
     <checkDoubleExtension>true</checkDoubleExtension>
   2)检查是不是图片文件,不仅仅是后缀名正确,后缀名为jpeg的文本文件不能成功上传到图片。
     <secureImageUploads>true</secureImageUploads> 
   3)允许上传的文件中包含html代码的文件类型

     <htmlExtensions>html, htm, xml, js, xsl</htmlExtensions>

  4)如果设置为true,在创建文件夹或者上传文件时,名字里不能包含不安全的字符      <disallowUnsafeCharacters>false</disallowUnsafeCharacters>      

10、//配置编码类型
    <uriEncoding>ISO-8859-1</uriEncoding>    
    //对用户隐藏文件夹,可以使用*和?,分别代表多个和一个类型
    <hideFolders>
    <folder>.svn</folder>
    <folder>CVS</folder>
    </hideFolders>
    //对用户隐藏文件
    <hideFiles>
    <file>.*</file>
    </hideFiles>
————————–
11、用Java类实现对配置文件config.xml的修改
   1)在web.xml中添加ConnectorServlet,在servlet下添加配置参数
     <init-param>
    <param-name>configuration</param-name>
    <param-value>包名.MyConfiguration类名</param-value>
     </init-param>
   2)编写MyConfiguration类,可以添加这些方法:init, checkAuthentication,
    prepareConfigurationForRequest,and specific getter methods. 

      public class MyConfiguration extends Configuration {

        public MyConfiguration(ServletConfig servletConfig) {

        super(servletConfig);
        #1、
        @Override
    protected Configuration createConfigurationInstance() {

        return new MyConfiguration(this.servletConf);
    }
      }
     #2、该示例是修改config.xml中的资源类型
       @Override
    public void init() throws Exception {

      super.init();
      this.baseURL = “/CKFinderJava/userfiles/”;
      ResourceType resourceType = this.types.get(“Files”);
      resourceType.setAllowedExtensions(
        resourceType.getAllowedExtensions().concat(“,zip,7z”));   
        }
     #3、该方法允许添加自己的检查,例子:通过测试”loggedIn”session检查用户是否被写进日志
        @Override
      public boolean checkAuthentication(final HttpServletRequest request) {

      return request.getSession().getAttribute(“loggedIn”) != null;
    }
     #4、例子:修改xml文件中<licenseName>标签能被重写
    @Override
    public String getLicenseName() {

      return “MyLicenseName”;
    }
12、web.xml中配置ConectorServlet,然后在servlet配置下添加配置Java类<init-param>configuration
  1)<servlet>
    <servlet-name>ConnectorServlet</servlet-name>
    <servlet-class>com.ckfinder.connector.ConnectorServlet</servlet-class>
    <init-param>
        <param-name>XMLConfig</param-name>
        <param-value>/WEB-INF/config.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>ConnectorServlet</servlet-name>
    //虚拟的映射路径
    <url-pattern>
        /ckfinder/core/connector/java/connector.java
    </url-pattern>
    </servlet-mapping>
  2)配置过滤器
    <filter>
    <filter-name>FileUploadFilter</filter-name>
    <filter-class>com.ckfinder.connector.FileUploadFilter</filter-class>
        <init-param>
              <param-name>sessionCookieName</param-name>
              <param-value>JSESSIONID</param-value>
        </init-param>
        <init-param>
              <param-name>sessionParameterName</param-name>
              <param-value>jsessionid</param-value>
        </init-param>
    </filter>
    <filter-mapping>
    <filter-name>FileUploadFilter</filter-name>
    <url-pattern>/ckfinder/core/connector/java/connector.java</url-pattern>

    </filter-mapping>

13、页面使用ckfinder标签
    <%@ taglib uri=”http://cksource.com/ckfinder” prefix=”ckfinder” %>
    <ckfinder:ckfinder basePath=”/CKFinderJava/ckfinder/” />

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/219976.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • LoadRunner11安装激活成功教程与汉化

    LoadRunner11安装激活成功教程与汉化1.安装LoadRunner的基本环境1、LoadRunner版本:LoadRunner112、电脑环境:Windows7+ie8注意:如果系统浏览器版本高于ie8,请降回ie8以下后再做LoadRunner安装。安装之前请将各种杀毒软件退出。2.安装资源1、资源:loadrunner11下载链接:https://去pan.baidu.com掉/s/1l_1k7中O8文by…

  • verilog cpu流水线_设计一个非常简单的CPU

    verilog cpu流水线_设计一个非常简单的CPU快把这一篇给更了

  • soc ip核_类和对象有什么关系

    soc ip核_类和对象有什么关系SoC(SystemonaChip)中文名是系统级芯片。20世纪90年代中期,因使用ASIC实现芯片组受到启发,萌生应该将完整计算机所有不同的功能块一次直接集成于一颗硅片上的想法。SoC应由可设计重用的IP核组成,IP核是具有复杂系统功能的能够独立出售的VLSI块;IP核应采用深亚微米以上工艺技术;SoC中可以有多个MPU、DSP、MCU或其复合的IP核。IP核(I………

  • D3旭日图_日新图

    D3旭日图_日新图本文将介绍D3旭日图的画法下面我们先来看看结果展示html代码<!DOCTYPEhtml><html><head><metacharset=”utf-8″><title>Sequencessunburst</title><scriptsrc=”js/d3.min.js…

  • 404 html代码,不懂代码,如何制作漂亮的404页面【新手简易教程】

    404 html代码,不懂代码,如何制作漂亮的404页面【新手简易教程】404是用户在访问页面时,搜索引擎常返回的状态码,常见的还有200,301,302,500等。搜索引擎通过http状态码识别网页状态,404状态码,常指所访问的页面不存在或已被删除。404页面,是用户访问不存在内容或者已删除网页时,呈现给用户的界面,又称404错误页面/404-NotFound。404页面常见误区①网站没有设置404页面404错误页面对用户而言:告诉浏览者其所请求的页面不存在或链…

  • AVX2整数向量运算「建议收藏」

    AVX2整数向量运算「建议收藏」在C/C++程序中,使用AVX2指令有很多种方法。嵌入汇编是一般的方法,但是对于不熟悉汇编语言的人来说,有点勉为其难。gcc编译支持AVX2指令的编程。程序中需要使用头文件和,这样通过调用其中定义的一些函数,达到使用AVX2指令的目的,即用C/C++调用SIMD指令(单指令多数据)。这里给出的样例程序是有关浮点向量运算的例子。其中函数_mm_add_epi32()实现的是整数向量(

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号