这是一个由两部分组成的问题。
我正在尝试设置我们的Production(Live)托管架构的新部分,所以我试图将我们的Staging webserver指向新的Production内容共享(同一子网中另一台服务器上的UNC路径)
我目前正在收到可怕的 PolicyException:无法获取所需权限消息。
<trust level="Full" originUrl="" />
添加到Web.config中(我很确定已经是这样了,不管怎么说)caspol
- 见下文更令人困惑的是,抱怨的程序集是我们的内部代码库之一。在ILSpy中对其进行反编译,我可以看到对
的引用[assembly: SecurityPermission(SecurityAction.RequestMinimum,
SkipVerification = true)]
,除了我不记得曾经在该程序集中添加任何代码访问安全性。引用Security
的类中没有任何类具有声明性,当然也没有引用AllowPartiallyTrustedCallersAttribute or CodeAccessPermission.Assert。
我对所涉及的所有服务器(包括网络服务器和拥有内容共享的服务器)拥有完全管理访问权限。
那么如何解决这个问题?
(我们是否可以将question #1846816转换为社区维基,其中包含所有可能的答案,而不是必须阅读带有不合格标题的数以万计的问题以及Google上的大量点击?o)
修改:caspol -a -lg
的(已修改)输出如下:
Microsoft (R) .NET Framework CasPol 2.0.50727.4016
Copyright (c) Microsoft Corporation. All rights reserved.
Security is ON
Execution checking is ON
Policy change prompt is OFF
Level = Enterprise
Code Groups:
1. All code: FullTrust
Level = Machine
Code Groups:
1. All code: Nothing
1.1. Zone - MyComputer: FullTrust
1.1.1. StrongName - [snip]: FullTrust
1.1.2. StrongName - [snip]: FullTrust
1.2. Zone - Intranet: LocalIntranet
1.2.1. All code: Same site Web
1.2.2. All code: Same directory FileIO - 'Read, PathDiscovery'
1.2.3. Url - file://[some other my UNC share]\*: FullTrust
1.2.4. Url - [THIS UNC SHARE]\*: FullTrust
1.2.5. Url - [some other my UNC share]:\*: FullTrust
1.2.6. Url - file://[THIS UNC SHARE]\*: FullTrust
1.3. Zone - Internet: Internet
1.3.1. All code: Same site Web
1.4. Zone - Untrusted: Nothing
1.5. Zone - Trusted: Internet
1.5.1. All code: Same site Web
Level = User
Code Groups:
1. All code: FullTrust
Success
答案 0 :(得分:5)
有类似的问题。请将<trust level="Full" originUrl="" />
替换为您应用的<trust level="Full" originUrl=".*"></trust>
中的web.config
。
请注意新信任级别标记中的.*
。
答案 1 :(得分:0)
发现问题。
我不确定原因,但Windows认为有问题的分享位于Internet
区域,而不是LocalIntranet
。
caspol -pp off -m -ag 1.3 -url "\\servername\web_content\*" FullTrust
caspol -pp off -m -ag 1.3 -url "file://\\servername\web_content\*" FullTrust
我已经修好了!