asp.net – 提供HTTP401 Not Authorized错误的VB.Net Web方法

我在Intranet站点中的几个地方使用Web方法正在工作并且它们工作正常,但是每次我尝试访问Web方法时,一个页面经常抛出HTTP 401错误.

我不确定如何解决这个问题,我已经尝试用Web方法评论所有内容,并且仍然得到401错误,即使是基本连接到数据库只是在我用分析器观看数据库时没有显示SELECT 1.

我的web.config对于Intranet中的所有页面都是相同的,我看不到我的ASP.Net页面与Web方法工作的页面有任何差异.

任何人都可以告诉我为什么这可能只发生在这个页面而不是其他人?还有我如何解决这个问题?

ASP.Net代码(从按钮的OnClientClick调用)

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>

更新:

我已经尝试在这个链接http://support.microsoft.com/kb/306158中使用模拟用户代码,但我不能这样做,因为该方法是一个web方法.

我也尝试在web.config中添加对我的登录页面的匿名访问,如下所示,但这也没有帮助

解决方法

我认为您正在使用FormsAuthentication.您必须为登录页面提供匿名访问权限.

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

相关文章

引言 本文从Linux小白的视角, 在CentOS 7.x服务器上搭建一个...
引言: 多线程编程/异步编程非常复杂,有很多概念和工具需要...
一. 宏观概念 ASP.NET Core Middleware是在应用程序处理管道...
背景 在.Net和C#中运行异步代码相当简单,因为我们有时候需要...
HTTP基本认证 在HTTP中,HTTP基本认证(Basic Authenticatio...
1.Linq 执行多列排序 OrderBy的意义是按照指定顺序排序,连续...