trust level="Full"(转)

来源:互联网 发布:淘宝币换阿里小号 编辑:程序博客网 时间:2024/05/29 12:47

在SharePoint里面,不仅有用户的权限,还有代码的权限。比如,我们在安装一个自定义的WebPart的时候,默认的情况下是不能操纵文件夹的,如果你看一些教你怎么做WebPart的文章的话,你会发现很多都会教你修改web.config文件,把它的trust的level改成Full。

<trust level="Full" originUrl="" />

简单的说,这是一句不负责任的句话,意思就是给所有dll以所有的权限,如果你只是在自己机器上做点小实验,那没问题。如果是在正式的项目中,就会造成比较大的安全隐患。

事实上,我们应该为我们的dll赋自定义的权限以杜绝安全隐患。

首先,我们要创建包含自定义权限的config文件。到以下目录C:/Program Files/Common Files/Microsoft Shared/web server extensions/12/CONFIG,找到文件wss_minimaltrust.config,这是微软定义的权限文件,默认用的就是他。拷贝一份,重命名为wss_custom_minimaltrust.config。
找到以下节点:
<CodeGroup
    class="UnionCodeGroup"
    version="1"
    PermissionSetName="SPRestricted">
    <IMembershipCondition
        class="UrlMembershipCondition"
        version="1"
        Url="$AppDirUrl$/*"
     />
</CodeGroup>

拷贝他,粘贴到他的前面,将PermissionSetName改为FullTrust,如果你的dll是放在bin目录下,名字叫ss.dll,那么你修改它的Url为"$AppDirUrl$/bin/ss.dll".保存他。

再回到SharePoint的web.config文件,找到trustLevel节点,添加新的节点为
<trustLevel name="WSS_Custom_Minimal" policyFile="C:/Program Files/Common Files/Microsoft Shared/Web Server Extensions/12/config/wss_custom_minimaltrust.config" />

这样我们就把新的权限配置文件加入到了我们的站点中。

在找到trust节点,修改为<trust level="WSS_Custom_Minimal" originUrl="" />

这样我们就启用了我们自定义的权限配置,其他的都没变,只是把ss.dll的权限提高了。

 
原创粉丝点击