Fre*_*nöw 329 asp.net iis-7 file-permissions
我最近在尝试使用IIS托管我的asp.net网站时遇到了错误.我找到了许多人发誓的解决方案.
解:
- 添加具有读取权限的IIS_IUSRS对文件夹中的文件
- 将IIS身份验证方法更改为BasicAuthentication
- 刷新网站.它会工作
(http://vivekthangaswamy.blogspot.com/2009/07/aspnet-website-cannot-read.html)
虽然我可以添加到我的web.config文件中?我以前从未编辑过它.这是它目前的内容:
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0"/>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我的错误是:
配置错误:由于权限不足,无法读取配置文件
配置文件:\?\ C:\ Users*****\Documents\Visual Studio2010\WebSites\PointsForTime\web.config
Afs*_* Gh 521
有你的web.config中没有问题.您的网站在一个流程下运行.在iis中,您可以定义该过程的标识.您的网站的应用程序池运行的标识(网络服务,本地系统等)应具有访问和读取web.config文件的权限.
更新:
这个更新的答案与上面相同,但更长一点,更简单和改进.
首先:您不必更改配置文件中的任何内容.没关系.问题在于Windows文件权限.
出现此问题的原因是您的应用程序无法访问和读取web.config文件.
使IIS_IUSRS组可以访问该文件.只需右键单击web.config并单击属性,在安全选项卡下,添加IIS_IUSRS.
那IIS_IUSRS是什么东西呢?
您的网站是像一个exe文件.就像任何exe文件一样,它应该由用户启动,并根据分配给该用户的权限运行.
当你的网站在启动IIS,应用程序池您的网站与相关用户(网络服务,本地系统等...)(并可以在IIS中更改)
因此,当您说IIS_IUSRS时,它表示您的站点正在运行的任何用户(网络服务,本地系统等).
正如@Seph在下面的评论中提到的:如果您的计算机在域上,请记住IIS_IUSRS组是本地组.还要确保当您尝试查找此用户时,请检查应将其设置为本地计算机而非公司域的位置.
Jar*_*rod 63
我在web.config
文件上遇到了相同的权限问题.
但是,我的问题是由于IIS无法加载配置文件导致的,因为它包含URL重写规则,而我没有在新服务器上安装IIS URL重写模块.
解决方案:安装重写模块.
希望能节省几个小时.
amd*_*amd 62
编者按:做这个答案所说的是危险的!LocalSystem帐户是......
完全信任的帐户,比管理员帐户更多.此帐户无法在单个框中执行任何操作,并且它有权作为计算机访问网络(这需要Active Directory并授予计算机帐户权限)
将标识从ApplicationPoolIdentity更改为LocalSystem完成了工作;).
我在IIS 7.5中使用win7 64
有关IIS 7.5和win 7中的应用程序池标识的更多信息
zwi*_*ion 41
当我尝试与其他用户共享站点根文件夹时,我遇到了同样的问题.某些文件夹丢失了权限.所以我按照Afshin Gh的建议,按照步骤向IIS_IUSRS组添加权限.问题是这个小组不适合我.我正在使用Windows 7.
我做了什么我刚改变了一些步骤:
这对我有用.
Eri*_*sch 17
您不必在web.config中更改任何内容.
问题是文件系统权限.您的文件权限不允许IIS_IUSRS用户访问web.config(或可能是任何文件).在Windows中更改其文件权限以允许IIS_IUSRS帐户访问它.
Kur*_*den 15
使该文件可供IIS_IUSRS组访问.右键单击web.config,展开属性,然后在安全选项卡下添加IIS_IUSRS.授予组读/写访问权限.
当该组不可用时,请将ComputerName\IIS_IUSRS替换为IIS_IUSRS
小智 14
转到父文件夹,右键单击并选择" 属性".选择" 安全"选项卡,编辑权限并添加.单击" 高级"和" 立即查找".选择IIS_IUSRS并单击确定和确定一次.请确保您有检查写.点击OK和确定一次.
任务完成!
IIS_IUSRS
您也可以仅向使用该站点的应用程序池标识授予访问权限,而不是向所有 IIS 用户授予访问权限。这是 Microsoft 推荐的方法,可以在此处找到更多信息:
https://support.microsoft.com/en-za/help/4466942/understanding-identities-in-iis
https://learn.microsoft.com/en-us/iis/manage/configuring-security/application-pool-identities
使固定:
首先查看上面的配置文件参数以确定需要访问的位置。在这种情况下,整个publish
文件夹都需要访问权限。右键单击该文件夹并选择属性,然后选择安全选项卡。
单击Edit...
,然后单击Add...
。
现在看看 Internet 信息服务 (IIS) 管理器和应用程序池:
就我而言,我的网站在 LocalTest 应用程序池下运行,然后我输入名称IIS AppPool\LocalTest
按一下Check Names
,应该会找到用户。
为用户提供所需的访问权限(默认:读取和执行、列出文件夹内容和读取),一切都应该正常。
小智 5
我需要向IUSR添加权限(除了ISS-IUSRS之外,正如其他人所建议的那样).(另见:http: //codeasp.net/blogs/raghav_khunger/microsoft-net/2099/iis-7-5-windows-7-http-error-401-3-unauthorized)
归档时间: |
|
查看次数: |
524793 次 |
最近记录: |