刚刚创建了一个带有一些自定义Web部件的WSS站点。但我得到一个错误:...没有信任级别。我从虚拟服务器的web.config文件编辑了safecontrols部分,但无济于事。
答案 0 :(得分:2)
Web部件在ASP.NET代码访问安全性模型下运行。它们必须是可信任的,并且必须标记为安全控制才能执行。
有两种推荐方法可以解决这个问题:
部署到全局程序集缓存(GAC)。这既快速又简单,但也意味着您的代码在服务器上完全受信任。服务器上的任何其他代码都可以执行类中的方法,可能会产生安全风险。
部署到Web应用程序bin文件夹并编写代码访问安全性文件。这允许您保护代码以完全信任(甚至进一步限制)执行。它也只能在SharePoint Web应用程序中执行。缺点是需要更多时间来设置。 Microsoft's site上有plenty more on the web的相关信息,some of which({{3}}可能比MS提供的更有帮助。)
(顺便说一下,永远不要将您的Web应用程序设置为完全信任web.config。这意味着任何代码都可以在服务器上执行任何操作 - 这会带来严重的安全风险。)
答案 1 :(得分:1)
我有一个基本的Web部件解决方案,它可以正常使用默认信任。但是,只要我将一个cas策略添加到解决方案manifest.xml,我部署该解决方案的网站集就不再起作用,它会给出一个SharePointPermission拒绝错误。为什么会这样?