自定义角色提供者用户名未被检测到

时间:2015-11-27 12:58:34

标签: c# model-view-controller roleprovider

我在C#MVC应用程序中实现了一个客户角色提供程序。

它似乎没有检测到Windows用户。

昨天工作正常。

它的配置如下所示:

var initializeConnection = function(){
    self.proxy = null;
    var connection = $.hubConnection(ENV.socketEndpoint,{
        qs: {token:User.getToken()},
        logging: true,
        useDefaultPath: false
    });
    self.proxy = connection.createHubProxy('myHub');
    self.proxy.on('onMessageCreated',function(data){
      $rootScope.$emit('Messages:messageReceived',data);
    })

    if ($.connection.hub && $.connection.hub.state === $.signalR.connectionState.disconnected){

        connection.start().done(function(){
            $log.info('connected');
        })

    }

}

但是在代码中添加断点我可以看到没有检测到用户。

groupby

我必须在没有意识到的情况下改变一些事情可能导致这种情况的原因是什么?

[编辑]

角色提供程序通过获取Windows用户名然后使用它进行身份验证来工作。

如果无法获取用户名,则不会进行身份验证。

问题是关于为什么用户名没有被提取,我感谢这是一个很大的问题,所以所有的建议都是很好的建议。

[/编辑]

1 个答案:

答案 0 :(得分:1)

您是否已禁用匿名访问

请参阅Configuring Windows Authentication

  1. 启动Internet信息服务(IIS)。
  2. 右键单击应用程序的虚拟目录,然后单击“属性”。
  3. 单击“目录安全性”选项卡。
  4. 在“匿名访问和身份验证控制”下,单击“编辑”。
  5. 确保未选中“匿名访问”复选框,并且“集成1. Windows身份验证是唯一选中的复选框。
  6. 这也适用于Visual Studio,它是Web项目的属性(选择Web项目并按 F4 ):

    enter image description here

相关问题