26

これはIISと関係があると確信していますが、わかりません。

フォーム認証を使用する Web サイトがあります。Web サイトがファイル リソース (javascript ファイル、css など) にアクセスしようとすると、web.config で設定されたフォーム ログイン ページにリダイレクトされます。アドレスバーにアドレスを入力するだけでもリダイレクトされます。

フォーム認証の web.config エントリは非常に基本的なものです。

<authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>

サイトの他の部分からのユーザーを拒否する 2 つのロケーション ノードもあります。

<location path="n2">
  <system.web>
    <authorization>
      <allow roles="Editors" />
    </authorization>
  </system.web>
</location>
<location path="web.config">
  <system.web>
    <authorization>
      <deny users="*" />
    </authorization>
  </system.web>
</location>

Windows Server 2008 R2 で標準の IIS7 インストールを使用しています。

編集 したがって、ランダムな認証 Cookie ( FormsAuthentication.SetAuthCookie()) を追加すると、リソースが利用可能になります。何らかの形で台無しになっているのは、私の認証モデルでなければならないことがわかっています。別のサーバーで動作します(コピーしただけです)。問題を追跡する方法はありますか?

4

7 に答える 7

64

同じエラーが発生しました。私の場合、IIS で IUSR の代わりにアプリケーション プール ID を使用するように匿名認証を設定していました。

  1. IIS を開く
  2. サイトを展開
  3. [あなたのウェブサイト]を選択
  4. [認証] をダブルクリックします (IIS の「領域」またはセキュリティの「カテゴリ」の下にあります)。
  5. 匿名認証を選択
  6. [操作] ウィンドウで [編集] をクリックします。
  7. [アプリケーション プール ID] ラジオ ボタンをクリックします。
于 2011-05-06T12:18:33.743 に答える
1

Web.config でタグを使用<location>して、ASP.NET MVC アプリケーションで承認を処理しないでください。場所はもはや意味がありません。web.config で必要なのはauthenticationタグだけです。MVC では、属性を使用して適切なコントローラーやアクションを装飾することで承認を実現でき[Authorize]ます。

于 2010-11-10T07:25:06.337 に答える
1

IIS では、匿名認証が正しくオンになっており、ユーザーは IUSR に設定されていました。そのため、Windows エクスプローラーに移動し、自分の Web アプリ ディレクトリに移動し、右クリックして [プロパティ]、[セキュリティ] タブ、[編集] ボタンを選択し、IUSR の読み取り、一覧表示、および読み取りと実行のアクセス許可 (既定のセット) を付与する必要がありました。変更がすべての子に継承されることを確認し、適用し、場合によっては待機してください。

于 2016-04-13T22:02:26.227 に答える
1

フォルダに使用allow *していContentます。これにより、静的コンテンツの承認が行われなくなります。

  <location path="Content">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>

リック

于 2010-11-09T18:03:17.957 に答える
0

それはあなたが皆に否定を設定したからです。IIS 7では、パイプラインが統合されているため、CSSや静的ページを参照しようとしてもリダイレクトされます。

必要に応じて、静的コンテンツをフォルダー内に配置し、アクセスを許可します。

于 2010-11-09T17:06:20.057 に答える
0

asp.netフォームの作業を行ってから長い時間が経ちましたが、最初の質問は、ユーザーが「編集者」ロールのメンバーであるかどうかです。Web サイト管理ツールを使用してこれを設定できると思いますか? http://msdn.microsoft.com/en-us/library/ssa0wsyf.aspx

于 2010-11-09T17:04:46.027 に答える