trust level="Full"(转)
2008-02-04 19:45
246 查看
在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的权限提高了。
<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的权限提高了。
相关文章推荐
- Fixing the security exception : "class /"" + packageName + "/" does not match trust level of other classes in the same package"
- Sharepoint Web.config trust level="Full"权限说明
- Android Design: 九种常见Activity及代码解析之"Empty""Blank""Fullscreen"
- Exception in thread "main" java.lang.NoSuchFieldError: level
- sco unix No utmp entry. You must exec "LOGIN" from the lowest level "sh"
- 即时通讯(环信) bug -"_iconv", referenced from: _avcodec_decode_subtitle2 in libHyphenateFullSDK.a(utils.o)
- 启动时停在"Stopping System V runlevel compatibility"
- 面试引发的high level abstration of OO language books named "Objects Unencapsulated: Java, Eiffel, and C++?" --正反全面分析编程语言
- 检测到"_ITERATOR_DEBUG_LEVEL"的不匹配项
- error LNK2001: 无法解析的外部符号 "public: virtual int __thiscall Game::LevelTwo(void)"
- Be carefull when using string operating function declarated in "string.h"
- ORA-19502: write error on file "/oracle/data/backup/pmoracle10g_20150606_17q8q0mp_1_1_full", blockno
- inner join,left join,right join,full join以及外连接"(+)"的用法
- The Contents.json describing the image set "BG_Email_Textfield.imageset" must start with a top level
- Windows - "The trust relationship between this workstation and the primary domain failed"
- MYSQL 执行Insert语句throws "The table 'xxx' is full" 的问题分析及解决办法
- Myeclipse "Syntax error,parameterized types are only available if source level is 5.0
- An internal error occurred during: "Add Deployment". Invalid Subscription Level - Discontinuing this
- lf 中的 "return to full page "
- "A transport-level error has occurred when sending the request to the server"的解决办法