修改ASP.NET站点DLL的访问权限

在站点里面,不仅有用户的权限,还有代码的权限。比如,我们在安装一个自定义的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目录下,名字叫mydll.dll,那么你修改它的Url为"$AppDirUrl$/bin/mydll.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="" />

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值