权限不足无法读取配置文件 [英] Cannot read configuration file due to insufficient permissions

查看:56
本文介绍了权限不足无法读取配置文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近在尝试使用 IIS 托管我的 asp.net 站点时遇到错误.我找到了一个让很多人发誓的解决方案.

I've recently encountered an error trying to host my asp.net site with IIS. I have found a solution that many swear by.

解决方案:

  1. 为文件夹中的文件添加具有读取权限的 IIS_IUSRS
  2. 将 IIS 身份验证方法更改为 BasicAuthentication
  3. 刷新网站.它会起作用

(http://vivekthangaswamy.blogspot.com/2009/07/aspnet-website-cannot-read.html)

我要在 web.config 文件中添加什么?我以前从未编辑过它.这是它的当前内容:

What do I add to my web.config file though? I've never had to edit it before. Here is its current contents:

<?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>

我的错误是:

配置错误:由于权限不足,无法读取配置文件
配置文件:?C:Users*****DocumentsVisual Studio2010WebSitesPointsForTimeweb.config

Config Error: Cannot read configuration file due to insufficient permissions
Config File: ?C:Users*****DocumentsVisual Studio2010WebSitesPointsForTimeweb.config

推荐答案

您的 web.config 没有问题.您的网站在一个进程下运行.在 iis 中,您可以定义该进程的身份.您网站的应用程序池运行的身份(网络服务、本地系统等)应该有权访问和读取网络.config 文件.

There is no problem with your web.config. Your web site runs under a process. In iis you can define the identity of that process. The identity that your web site's application pool runs as (Network Services, Local System, etc.), should have permission to access and read web.config file.

更新:

这个更新的答案与上面相同,但更长、更简单和改进.

首先:您不必更改配置文件中的任何内容.没关系.问题在于 windows 文件权限.

First of all: you don't have to change anything in your config file. It's OK. The problem is with windows file permissions.

出现此问题是因为您的应用程序无法访问读取 web.config 文件.

This problems occurs because your application can not access and read web.config file.

使IIS_IUSRS 组可以访问该文件.只需右键单击 web.config 并单击属性,在 安全 选项卡下,添加 IIS_IUSRS.

Make the file accessible to IIS_IUSRS group. Just right click web.config and click properties, under security tab, add IIS_IUSRS.

那么 IIS_IUSRS 是什么东西?

So what is this IIS_IUSRS thing?

您的网站就像一个 exe 文件.就像任何 exe 文件一样,它应该由用户启动根据分配给该用户的权限运行.

Your web site is like an exe file. Just like any exe file, it should be started by a user and it runs according to permissions assigned to that user.

当您的网站在 IIS 中启动时,您网站的应用程序池用户(网络服务,本地系统等...)(并且可以在IIS中更改)

When your site is started in IIS, Application Pool of your web site is associated with a user (Network Services, Local System, Etc. ...) (and can be changed in IIS)

因此,当您说 IIS_IUSRS 时,它意味着任何用户(网络服务、本地系统 等...)您的站点正在运行.

So when you say IIS_IUSRS, it means any user (Network Services, Local System, Etc. ...) that your site is running as.

正如@Seph下面的评论中提到的:如果您的计算机在域中,请记住IIS_IUSRS 组是一个本地组.还要确保在您尝试查找此用户时检查位置,它应设置为本地计算机而不是公司域.

And as @Seph mentioned in comment below: If your computer is on a domain, remember that IIS_IUSRS group is a local group. Also make sure that when you're trying to find this user check the location it should be set to local computer and not a corporate domain.

这篇关于权限不足无法读取配置文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆