我最近在尝试用IIS托管我的asp.net站点时遇到了一个错误。我找到了一个很多人都信以为真的解决办法
解决方案:
- 添加对文件夹中的文件具有读取权限的IIS_IUSR
- 将IIS身份验证方法更改为基本身份验证
- 刷新网站。它会起作用的
(http://vivekthangaswamy.blogspot.com/2009/07/aspnet-website-cannot-read.html)
但是,我应该在web.config文件中添加什么?我以前从未编辑过它。以下是其当前内容:
<;?xml版本=";1.0“&燃气轮机;
<--
有关如何配置ASP.NET应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
--&燃气轮机;
<;配置>;
<;连接管柱>;
<;添加名称=";“默认连接”;connectionString=";数据源=。\SQLEXPRESS;AttachDbFilename=| DataDirectory |\Database.mdf;综合安全=真实;用户实例=True";
providerName=";System.Data.SqlClient“/&燃气轮机;
</连接管柱>;
<;系统.web>;
<;编译调试=";“真的”;严格的;假;显式=";“真的”;targetFramework=";4.0“/&燃气轮机;
</系统.web>;
</配置>;
我的错误是:
配置错误:由于权限不足,无法读取配置文件
配置文件:\?\C:\Users******\Documents\visualstudio2010\WebSites\PointsForTime\web.Config
您的web.config没有问题。您的网站在一个进程下运行。在iis中,您可以定义该进程的标识。网站的应用程序池运行的标识(网络服务、本地系统等)应具有访问和读取web.config文件的权限
更新:
更新后的答案与上面的答案相同,但有点长、简单和改进。
首先:您不必更改配置文件中的任何内容没关系。问题在于windows文件权限
出现此问题的原因是应用程序无法访问web.config文件
使IIS\u IUSRS组可以访问该文件。只需右键单击web.config并单击属性,在安全选项卡下,添加IIS\u IUSRS
那么这是什么呢
您的网站与exe文件类似。与任何exe文件一样,它应该由用户启动,并根据分配给该用户的权限运行
当您的网站在IIS中启动时,您网站的应用程序池与用户关联(网络服务、本地系统等)(可以在IIS中更改)
因此,当你说IIS\u IUSRS时,它意味着你的站点正在运行的任何用户(网络服务、本地系统等)
正如下面的评论中提到的@Seph:如果您的计算机位于域上,请记住IIS_IUSRS组是一个本地组。
另外,请确保当您试图查找此用户时,请检查其位置,该位置应设置为本地计算机,而不是公司域