1. ホーム
  2. asp.net

[解決済み】パーミッション不足で設定ファイルが読めない

2022-03-24 16:13:41

質問

最近、IISでasp.netのサイトをホストしようとすると、エラーが発生するようになりました。 多くの人が誓う解決策を見つけました。

<ブロッククオート

解決方法

  1. フォルダ内のファイルに読み取り権限を持つIIS_IUSRSを追加します。
  2. IISの認証方式をBasicAuthenticationに変更する。
  3. ウェブサイトをリフレッシュします。それは動作します

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

私のエラーは

Config Error: パーミッションが不十分なため、設定ファイルを読み込むことができません

Config File: \?C:³³*DocumentsVisual Studio2010³³³³.config

解決方法は?

あるんです。 web.configに問題はありません。 . あなたのウェブサイトは、あるプロセスで実行されます。iisでは、そのプロセスのIDを定義することができます。その アイデンティティ あなたのウェブサイトの アプリケーションプール として実行されます ( ネットワークサービス、ローカルシステム web.config ファイルにアクセスし、読み取ることができる権限を持っている必要があります。

更新してください。

この更新された回答は、上記と同じですが、少し長く、よりシンプルに改良されています。

はじめに : 設定ファイルを何も変更する必要はありません。 大丈夫です . 問題は Windowsのファイルパーミッション .

この問題が発生する原因は アプリケーション はできません。 アクセス web.config を読み込む ファイルを作成します。

ファイルにアクセスできるようにする IIS_IUSRS グループに所属しています。ただ 右クリックでweb.config をクリックし プロパティ の下にある セキュリティ タブに IIS_IUSRS .

では、このIIS_IUSRSというのは何でしょうか?

あなたの ウェブサイト exeのような ファイルを作成します。他のexeファイルと同じように ユーザーによって起動される を実行し パーミッションに従って そのユーザーに割り当てられている

でサイトを起動すると アイアイエス , アプリケーションプール に関連付けられています。 ユーザー ( ネットワークサービス、ローカルシステム 等々。...) (IISで変更可能)

だから、あなたが言うとき IIS_IUSRS という意味です。 任意のユーザー ( ネットワークサービス、ローカルシステム などなど。など)。

そして セフ に記載されています。 以下のコメント : お使いのコンピュータがドメイン上にある場合 を覚えておいてください。 IIS_IUSRS グループは ローカルグループ . また、このユーザーを見つけようとするときは、場所を確認し、企業ドメインではなく、ローカルコンピューターに設定されていることを確認する必要があります。