微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Web 配置中的 Aspx 授权并不完全适用于 Web 方法

如何解决Web 配置中的 Aspx 授权并不完全适用于 Web 方法

我在位于 Subscription 文件夹的 Index.aspx 页面中有一个 Web 方法在这文件夹中,我添加了这个 web.config 文件

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.web>
    <authorization>
       
      <deny users="?" />
    </authorization>
  </system.web>
</configuration>

现在我有一个对 web 方法的 ajax 调用。当用户登录时,我希望ajax调用无法命中该方法返回错误。实际上,Web 方法并未按预期命中(访问被拒绝),但 ajax 调用仍然返回成功。

这是我的脚本:

function Subscribe(topicId) {

    $.ajax({
        url: '<%= ResolveUrl("~/Subscription/Index.aspx/Subscribe") %>',contentType: "application/json",method: "POST",data: JSON.stringify({ topicId: topicId }),success: function () {
        // alert("Subscribed to topic " + topicId);
        var a = document.getElementById("subscription:" + topicId);
        a.href = "Javascript:Unsubscribe(" + topicId + ")";
        var img = document.getElementById("subImg:" + topicId);
        img.alt = "Unsubscribe";
        img.title = "Unsubscribe";
        img.src = img.src.replace("icon_subscribe.gif","icon_unsubscribe.gif");
    },error: function () { alert("You must login to subscribe!"); }
});

这是我的网络方法

 [WebMethod]
    public static void Subscribe(long topicId)
    {
        var dbContext = HttpContext.Current.GetowinContext().Get<ApplicationDbContext>();
        var user = dbContext.Users.Where(u => u.UserName == HttpContext.Current.User.Identity.Name).FirstOrDefault();
        if (dbContext.Subscriptions.Where(s => s.TopicId == topicId && s.UserId == user.Id).FirstOrDefault() == null)
        {
            var subscription = new Subscription
            {
                TopicId = topicId,UserId = user.Id
            };
            dbContext.Subscriptions.Add(subscription);
            dbContext.SaveChanges();
        }
        
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?