文章插图
有这么一个简单需求有时候,你可能希望判断是否对文件或者文件夹有某种权限,但是又不想实际操作,只是简单的判断而已 。举个例子,你可能向快速地知道是否对某个文件夹是否有删除里面文件的权限 。
一种方法是:获取该对象的ACL,然后检查是否当前用户拥有希望的权限 。有一个API AccessCheck可以做这件事情,调用起来也比较简单 。
这个时候,可能你会想:”等会,系统里应该有一个完整的安全组件,来判断谁可以访问哪个文件 。为什么不使用这个安全组件的功能呢?”
举个例子:下面的代码演示了如何检查某个用户是否具有删除一个文件夹里的文件的权限 。
代码解析我们通过调用CreateFile这个API来尝试性地打开目标文件夹(你可以观察到,我们代码中指定了一个FILE_FLAG_BACKUP_SEMANTICS标志),然后请求FILE_DELETE_CHILD操作权限,如果操作成功,我们就能知道:当前用户有权限删除文件夹中的文件 。再一个需要注意的是:当CreateFile返回一个有效句柄后,我们不要忘记关闭这个句柄,以避免资源泄露 。最后,我们对CreateFile的返回值进行了比较,如果返回值有效,则说明我们具有我们希望的权限 。
请注意,上述得到的信息,只是用来作为参考的 。所以,请不要基于这个信息来做出任何安全方面的操作,为什么?因为权限会实时变动,可能在你实际进行操作的时候,权限已经不再是你之前获取到的权限了 。
总结我突然想起WinXP那会儿,人人都是Administrator的魔幻时代 。有道是:不是Admin不舒服斯基 。
最后Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助 。本文来自:《An easy way to determine whether you have a particular file permission》
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- struts2和springMVC的区别 struts2配置文件详解
- word加密文件破解 word文档怎么解锁编辑
- html5零基础入门教程 html上传文件到服务器
- java解压各种类型的文件 java解压zip文件为空
- 什么是智能餐饮店管理系统?智能餐饮系统解决方案 智能餐饮系统解决方案,你知道吗?
- 教你IE浏览器缓存文件 ie浏览器清理缓存在哪里
- 导入Word文档最好的方式 word怎么插入cad文件
- 管理咨询行业,还有发展前景吗?
- 2021执行治安拘留需满足哪些条件? 2021年治安管理处罚法最新
- 健康上网行为的标准 上网行为管理制度