CKfinder for java详解一:权限配置

[size=medium]【转自】[url=http://www.toher.cn/News/kfjc_1248_53.html]CKfinder for java详解一:权限配置 [/url]
友情链接:
1.[url=http://www.toher.cn/News/kfjc_1248_52.html][color=red]解决Struts2下CKfinder无法使用的问题[/color][/url]
2. [url=http://www.toher.cn/News/kfjc_1248_54.html][color=red]CKfinder for java详解二:缩略图及图片上传的缩放[/color][/url]

一直在采用CKfinder + CKeditor这两个黄金组合,技术联盟群里经常有人问我,JAVA版本的权限控制问题!其实这些问题官方都给出了很明细的解答,在这里我还是给各位做个详解吧!希望大家看到我的这篇文章对你有所帮助!
大家一定知道使用JAVA版本的CKfinder需要有一个配置文件config.xml在我们的项目文件WEB-INF下,一般我们直接复制下载下来的 CKfinder解压包中的config.xml到项目WEB-INF下即可;我们只需要稍作修改即可!如何配置使用我就不在细说了,前面的日记里有教大家如何使用的!这次主要谈谈权限访问的配置:
在config.xml中我们可以看到<accessControls>标签,看英文我们就应该知道这里是访问控制的意思,下面我就来给大家演示一下使用方法!

我们举例:
目前我们的项目有三种级别的用户: 注册用户(RegUser) 、管理员(admin)、游客(User),游客我们是不允许对我们的相关文件有任何操作的我们先配置一个访问控制
<accessControl>
<role>*</role>
<resourceType>*</resourceType>
<folder>/</folder>
<folderView>true</folderView>
<folderCreate>false</folderCreate>
<folderRename>false</folderRename>
<folderDelete>false</folderDelete>
<fileView>true</fileView>
<fileUpload>false</fileUpload>
<fileRename>false</fileRename>
<fileDelete>false</fileDelete>
</accessControl>

[color=red]标签解释:
<role> --------用户 ,这里会跟我们java中的用户参数做对应;
<resourceType> ----------- 设置访问的文件资源,如果设置为IMAGES 那么代表只允许访问IMAGES类型;
<folderView> --------查看文件夹
<folder> ------------访问的文件夹;”/“ 代表所有目录,如果resourceType = IMAGES,folder = log,代表了只能访问IMAGES类型的log文件夹
<folderCreate> -------- 创建文件夹
<folderRename> -------重命名文件夹
<folderDelete> ------删除文件夹
<fileView> ------查看文件
<fileUpload> ------允许上传
<fileRename> ------重命名文件命
<fileDelete> ------删除文件[/color]


知道了上诉的标签的作用后我们就可以得知我们上述的控制限制了;仅仅是指文件夹的操作。它不限制文件夹的操作,使用户可以删除或重新命名文件夹,可以查看文件夹下的内容,但是不允许操作!

那么我们就可以根据这个权限设置来定义我们的用户权限了;

admin权限:
<accessControl>
<role>admin</role>
<resourceType>*</resourceType>
<folder>/</folder>
<folderView>true</folderView>
<folderCreate>true</folderCreate>
<folderRename>true</folderRename>
<folderDelete>true</folderDelete>
<fileView>true</fileView>
<fileUpload>true</fileUpload>
<fileRename>true</fileRename>
<fileDelete>true</fileDelete>
</accessControl>

注册用户权限:
<accessControl>
<role>RegUser</role>
<resourceType>*</resourceType>
<folder>/</folder>
<folderView>true</folderView>
<folderCreate>true</folderCreate>
<folderRename>false</folderRename>
<folderDelete>false</folderDelete>
<fileView>true</fileView>
<fileUpload>true</fileUpload>
<fileRename>false</fileRename>
<fileDelete>false</fileDelete>
</accessControl>

游客忽略.... 必然是没有任何权限的,全部为false;

那么我们如何使用我们的权限判断?假设我们现在用session记录用户信息,那么就可以
session.setAttribute("CKFinder_UserRole", "admin"); 参数一是固定写法,因为我们配置文档已经有了
<userRoleSessionVar>CKFinder_UserRole</userRoleSessionVar>
这样一个配置,如需修改可以在此处修改;后面的参数对应我们配置的访问用户;就可以完成了admin的权限认证!

至此,本文介绍到此为止,希望能给大家帮助![/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值