【问题标题】:AllowAnonymous attribute in SignalRSignalR 中的 AllowAnonymous 属性
【发布时间】:2016-04-11 10:59:45
【问题描述】:
[Authorize] // Derived from Microsoft.AspNet.SignalR.Authorize
public class ChatHub : Hub
{
    [System.Web.Mvc.AllowAnonymous] // [AllowAnonymous] doesn't be supported here
    public async Task GetEmails()
    {
        using (var db = new MyDbContext())
        {
            var users = await db.Users.ToListAsync();
            var emails = new List<string>();
            users.ForEach(x => emails.Add(x.Email));
            Clients.All.getEmails(JsonConvert.SerializeObject(emails));
        }
    }
}

我的问题:我将断点设置为 GetEmails 方法,但它从未命中。然后,我登录并再次尝试,它正在工作。

这意味着:[System.Web.Mvc.AllowAnonymous][Microsoft.AspNet.SignalR.Authorize] 中不起作用。

所以,我的问题是:为什么命名空间Microsoft.AspNet.SignalR 不支持[AllowAnonymous] 属性?我需要为此声明AllowAnonymous 属性吗?

【问题讨论】:

    标签: asp.net-mvc signalr authorize


    【解决方案1】:

    我已经解决了这个问题:使用[System.Web.Mvc.Authorize] 而不是[Authorize]。像这样:

    [System.Web.Mvc.Authorize] 
    public class ChatHub : Hub
    {
        [System.Web.Mvc.AllowAnonymous] 
        public async Task GetEmails()
        {
            // ...
        }
    }
    

    我不明白为什么,但它应该可以完美运行 :)

    【讨论】:

    • خود گویی و خود خندی - 你的平台是什么?
    猜你喜欢
    • 1970-01-01
    • 2015-11-04
    • 2014-10-16
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多