win2008 r2 IIS7.5 – 为应用程序池设置自定义用户,并信任问题

场景:

  1. 空白win2008 r2安装
  2. 目标是有几个网站运行孤立池和专用用户
  3. 一个新的网站的文件夹 – c:\ web \ siteA \ wwwroot,与应用程序(asp.net)部署在/ bin文件夹
  4. 创build一个名为“appuser”的用户并将其添加到IIS_USERS组
  5. 给IIS_USERS appuser的网站文件夹读取和执行权限
  6. 创build了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.)

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

 [assembly:AllowPartiallyTrustedCallers] 

如果消息来自ASP.NET(YSOD),则说明IIS正在启动AppPool(通过您甚至不需要将用户添加到IIS_USRS的方式,IIS会自动启动-magically)。 听起来也许被复制的程序集是不同的,也可能是在另一台机器上有一些策略,或者只是信任级别不同。 我会使用Web Deploy( http://www.iis.net/download/WebDeploy )在工作服务器和其他服务器之间做一个“差异”,看看有什么不同,可能是web.config中的设置,或security.config或许多东西。