イントラネットサイトのいくつかの場所でWebメソッドを使用していますが、正常に動作しますが、アクセスしようとするたびに1ページでHTTP 401エラーが常にスローされますウェブメソッド。VB.Net WebメソッドでHTTP401 Not Authorizedエラーが発生する
私はこの問題を解決する方法が不明ですが、Webメソッドからすべてコメントしてみましたが、基本的にはデータベースに接続するだけでも基本的に401エラーが発生しますSELECT 1
DBを見ると表示されませんプロファイラを使用します。
私のweb.configはイントラネット内のすべてのページで同じで、Webメソッドが動作するページと比較して私のASP.Netページに違いは見られません。
誰にも、なぜこのページだけでなく他のもので起こっているのか教えていただけますか?また、どのようにこの問題を回避することができますか?
(ボタンのOnClientClickから呼び出さ)ASP.Netコード
function SendEmails()
{
var Grid = document.getElementById("instructorGrid");
var mailBody = document.getElementById("txtMailBody");
var ddlDutyPeriod = document.getElementById("DDL_DutyPeriods");
var cell = Grid.rows[i].cells;
var HTML = cell[0].innerHTML;
var chkBox = cell[5].innerHTML;
PageMethods.TestMethod()
}
スクリプトマネージャ
<asp:ScriptManager ID="ScriptManager1"
runat="server"
EnableScriptGlobalization="true"
EnablePageMethods="true"
EnableScriptLocalization="true">
</asp:ScriptManager>
VB.Netコード
<System.Web.Services.WebMethod()>
Public Shared Sub TestMethod()
'Dim conn1 As New SqlConnection(ConfigurationManager.ConnectionStrings("Blueprint").ToString())
'Dim cmd2 As New SqlCommand
'cmd2.CommandType = CommandType.Text
'cmd2.CommandText = "SELECT 1"
'cmd2.Connection = conn1
'conn1.Open()
'cmd2.ExecuteNonQuery()
'conn1.Close()
End Sub
フィドラー結果
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Not Authorized</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Not Authorized</h2>
<hr><p>HTTP Error 401. The requested resource requires user authentication.</p>
</BODY></HTML>
UPDATE:
私は、メソッドがWebメソッドであるため、しかし、私はそれを行うカントダウンリンクhttp://support.microsoft.com/kb/306158で半分のようなコードでユーザーを偽装使用して試してみました。下に提案されているよう
は私もweb.configファイルで私のログインページへの匿名アクセスを追加しようとしているが、これもhasntはそれはロングショットですが、あなたはあなたのWeb.Configでこれを持っているん
IISには、アクセスしようとしているファイルへのアクセス権がありますか。 (NTFSレベルアクセス)。サービスがIISによって実行されるため、アプリケーションプールユーザー(またはユーザー)へのアクセスを許可する必要があります。フルアクセスでIIS_IUSRSグループを追加してみてください。 – Nicholas