1

这是一个由两部分组成的问题。

我正在尝试设置我们的生产(实时)托管架构的新部分,因此我试图将我们的暂存网络服务器指向新的生产内容共享(同一子网中另一台服务器上的 UNC 路径)。

我目前收到可怕的PolicyException:无法获取所需权限的消息。

  • 用户上下文对内容共享的整个层次结构具有修改权限。
  • 我已经添加<trust level="Full" originUrl="" />到 Web.config 中(我很确定它已经是这种情况了,反正)
  • 我已经跑了caspol——见下文
  • 检查了 AppPool 设置——身份设置为适当的用户名,加载用户配置文件设置为 True
  • 我刚刚设置了内容共享和 IIS 站点,所以我知道用户名和密码都是同步的(我做了仔细检查)。

更令人困惑的是,抱怨的程序集是我们的内部代码库之一。在ILSpy中对其进行反编译,我可以看到对

[assembly: SecurityPermission(SecurityAction.RequestMinimum,
   SkipVerification = true)]

,除了我不记得曾经在该程序集中添加任何代码访问安全性。引用的所有类Security都没有任何声明性,当然也没有引用AllowPartiallyTrustedCallersAttribute 或 CodeAccessPermission.Assert

我对所有涉及的服务器(网络服务器和持有内容共享的服务器)拥有完全的管理权限。

那么如何让这个问题消失呢?

(我们是否可以将问题#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
4

2 回答 2

5

有类似的问题。请在您的应用程序 中<trust level="Full" originUrl="" />替换为 。请注意新信任级别标记中的 。<trust level="Full" originUrl=".*"></trust>web.config
.*

于 2012-10-24T13:05:19.777 回答
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

我已经解决了!

于 2012-07-20T03:04:14.323 回答