win2008 r2 IIS7.5 - 为应用程序池设置自定义用户以及信任问题

win2008 r2 IIS7.5 - 为应用程序池设置自定义用户以及信任问题

设想:

  1. 空白 win2008 r2 安装
  2. 目标是运行几个具有独立池和专用用户的站点
  3. 新网站的新文件夹 - c:\web\siteA\wwwroot,应用程序 (asp.net) 部署在 /bin 文件夹中
  4. 创建一个名为“appuser”的用户并将其添加到 IIS_USERS 组
  5. 授予 IIS_USERS 网站文件夹读取和执行权限应用程序用户
  6. 创建 IIS 站点。将 app=pool 标识设置为 appuser
  7. 现在我收到 YSOD 告诉我信任级别太低 -SecurityException: That assembly does not allow partially trusted callers
  8. 在 web-config 上添加了<trust level="Full" />,但没有帮助
  9. 更改应用程序池用户以Administrator使网站运行
  10. 将“匿名用户身份”设置为 IUSR 或应用程序池身份没有区别

任何想法?

为什么选定的用户会对应用程序的信任级别产生影响?或者这只是一个虚假的错误信息?

是否有关于在 IIS7.5 上为隔离应用程序池设置用户的“分步”指南?

编辑:设置应用程序池用户NetworkService也会使网站运行(参见9.)

答案1

将此属性声明添加到您的程序集:

[assembly:AllowPartiallyTrustedCallers]

答案2

问题似乎与用户帐户无关,如果消息来自 ASP.NET (YSOD),则意味着 IIS 正在正确启动 AppPool(顺便说一句,您甚至不需要将用户添加到 IIS_USRS,IIS 会自动执行此操作)。听起来可能是被复制的程序集不同,或者另一台机器中有一些策略,或者只是信任级别不同。我会使用 Web Deploy(http://www.iis.net/download/WebDeploy) 在工作服务器和其他服务器之间进行“差异”并查看可能存在哪些不同,它可能是 web.config 或 security.config 中的设置或许多东西。

相关内容