Ant*_*ton 0 asp.net iis iis-7.5
在工作中我遇到了以下情况:我们有一个在WIndows Server 2008 64位机器上运行的Web应用程序.应用程序的ApplicationPool在ApplicationPoolIdentity下运行,并配置为.net 2和Classic管道模式.
在XmlSerialization需要创建使用MEF创建知识类型集合的Serializer程序集时,这种方法很有效.
为了解决这个问题,我希望将ApplicationPoolIdentity权限授予ASP.Net Temporary Files目录就足够了,但是...
我所做的是从cmd提示符运行以下命令:
icacls "c:\windows\microsoft.net\framework64\v2.0.50727\Temporary ASP.NET Files" /grant "IIS AppPool\MyAppPool":(M)
Run Code Online (Sandbox Code Playgroud)
显然这不起作用,否则你不会读这个:)
奇怪的是,每当我授予用户或甚至更具体,Authenticated Users Group这些权限时,它都有效.同样奇怪(在我看来)是在我开始授予访问权限之前,ApplicationPoolIdentity已经是IIS_IUSRS的成员,它具有临时asp文件目录的修改权限.
现在我想知道为什么这种情况需要Authenticated Users组的修改权限.我认为可能是因为apppool帐户缺少额外的权限(谷歌搜索返回了一些结果,所以我尝试了这些),但是授予对Windows\Temp目录和/或应用程序目录本身的ApplicationPoolIdentity修改权限并没有修复它.
现在我们有一个解决方法,但我讨厌我不知道这里到底发生了什么,所以我希望你们中的任何人能够对此有所了解.
Thanx提前!
如果应用程序池作为AppPool Identity运行,那么事情应该是开箱即用的,因为工作进程将注入IIS_IUSRS SID,它将具有正确的写入权限.
我的猜测是,应用程序必须使用Windows身份验证,并且在ASP.NET中启用模拟,以便代码可能作为发出请求的特定用户运行,而不是必须运行进程标识.
我猜对应用程序正在运行Windows身份验证吗?并在asp.net中启用了模拟?
归档时间: |
|
查看次数: |
8382 次 |
最近记录: |