3

Webページにアクセスしようとすると、次のメッセージが表示されます。

HTTPエラー401.2-無許可認証ヘッダーが無効なため、このページを表示することは許可されていません。

この写真からわかるように:

ここに画像の説明を入力してください

ログオン画面からこのページに直接アクセスしていて、プロンプトが表示されないことを考えると、これは混乱を招きます。プロンプトが表示されることなく、サイトの他の部分に移動できます。

この画面にリンクするために使用しているコードは次のとおりです。

@using SuburbanCustPortal.SuburbanService

<br />
<br />
<table>

  @if (ViewData["CustomerData"] != null) { 
    foreach (var usr in (IEnumerable<CustomerData>) ViewData["CustomerData"])
    {
      <tr>

        <td>
          <a href="/Customer/ShowCustomer/@usr.AccountId/">View</a>
        </td>

        <td>
          @usr.Branch-@usr.AccountNumber
        </td>

        <td>
          @usr.Name
        </td>

        <td>
          @usr.DeliveryStreet
        </td>

      </tr>
    }
  }

</table>
<br />

それはリンクであることと関係がありますか?もしそうなら、どうすればこれを回避できますか?

更新#1

これは呼び出されているアクションです:

public ViewResult ShowCustomer(string id)
{
  var corpid = MiscClasses.TokenIdCookie.GetTokenIdCookie();
  var sb = new StringBuilder();
  sb.AppendLine("SuburbanCustPortal,Controllers.CustomerController.ExistingAccounts");
  sb.AppendLine(string.Format("corpid: {0}", corpid));
  sb.AppendLine(string.Format("accountid (id): {0}", id));
  Logging.LogInfo(sb.ToString(), _asName);

  var cr = new CustomerRequest();
  cr.CompanyId = corpid;
  cr.Account = id;

  return View("AccountScreen", _client.GetCustomerByGuid(cr));
}

更新#2

次の認証を使用しています。

ここに画像の説明を入力してください

4

1 に答える 1

3

IISでは、基本認証のチャレンジ/レスポンスを介して認証される必要があるようです。匿名アクセスが無効になっているため、認証ダイアログが表示されます。

匿名認証を有効にすると、準備が整います。

有効にする必要がある日常のAsp.netアプリケーション(MVCアプリケーションを含む)の通常の認証方法は次のとおりです。

  • 匿名で
  • フォーム

その他はすべて、アプリケーションの特定の要件や環境(つまり、ドメイン構成)によって異なります。

于 2012-11-21T16:46:38.233 に答える