标签: ntlm

无法通过本地IIS获取Windows身份验证

所以我使用Intranet模板创建了一个新的ASP.NET MVC项目.web.config包含适当的值(例如<authentication mode="windows"/>).

如果我使用VS网络服务器启动Web应用程序,它看起来都很好 - 页面显示我的Windows域和用户名以及所有内容.但是,这适用于Opera和Safari以及IE和FF,它告诉我它根本不使用Windows身份验证(因为据我所知,这在除IE/FF之外的任何浏览器中都不起作用).

下一步是通过本地IIS使其工作.我创建一个指向www.mysite.mydomain到127.0.0.1的hosts文件条目.因此,在IIS中,我创建了一个绑定到www.mysite.mydomain的网站,并启用Windows身份验证并禁用匿名身份验证.

我已设置IE和FF以启用Windows身份验证,如下所示:

IE

  1. 将URL添加到Intranet组
  2. 确保在高级设置中启用了Windows身份验证

FF

将"www.mysite.mydomain"放入network.automatic-ntlm-auth.trusted-uris配置设置.

但是当我在IE/FF中拨打www.mysite.mydomain时,我会收到登录提示.有趣的是,即使我在这里输入我的Windows登录信息,它仍然会失败并再次向我显示登录提示.

我们这里没有活动目录,但我的理解是它应该可以正常使用本地帐户.

我想不出我需要做的任何其他事情.有什么建议?

编辑:我们最近切换到使用Active Directory,问题仍然存在.

编辑:当我取消登录提示时,我将进入"IIS 7.5详细错误"页面,其中包含以下信息:

HTTP错误401.2 - 未经授权由于身份验证标头无效,您无权查看此页面.**

iis asp.net-mvc ntlm windows-authentication http-status-code-401

65
推荐指数
4
解决办法
7万
查看次数

NTMM代理背后的NPM

是否可以在npm install使用NTLM身份验证的HTTP代理后面运行?如果是,我该如何设置服务器的地址和端口,用户名和密码?

ntlm http-proxy node.js npm

65
推荐指数
7
解决办法
6万
查看次数

WCFTestClient HTTP请求未经授权,客户端身份验证方案为"匿名"

我创建了一个WCF服务并将其部署在Server上.当我浏览这个服务时,它使用?wsdl URL给出了积极的回应.现在我正试图通过WCF测试客户端测试服务.它显示正确的元数据.但是当我尝试从服务中调用任何方法时,它会向我显示异常...这里是堆栈跟踪的错误细节.

HTTP请求未经授权,客户端身份验证方案为"匿名".从服务器收到的身份验证标头是"Negotiate,NTLM".

服务器堆栈跟踪:


System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(HttpWebRequest请求,HttpWebResponse响应,WebException responseException,HttpChannelFactory factory)
HTTP请求未经授权使用客户端身份验证方案"Anonymous".从服务器收到的身份验证标头是"Negotiate,NTLM".

服务器堆栈跟踪:


System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(HttpWebRequest请求,HttpWebResponse响应,WebException responseException,HttpChannelFactory工厂)

客户端绑定:

<bindings>
    <wsHttpBinding>
        <binding name="WSHttpBinding_IServiceMagicService" closeTimeout="00:01:00"
            openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
            bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
            maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
            messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
            allowCookies="false">
            <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                maxBytesPerRead="4096" maxNameTableCharCount="16384" />
            <reliableSession ordered="true" inactivityTimeout="00:10:00"
                enabled="false" />
            <security mode="None">
                <transport clientCredentialType="Windows" proxyCredentialType="None"
                    realm="" />
                <message clientCredentialType="Windows" negotiateServiceCredential="true"
                    establishSecurityContext="true" />
            </security>
        </binding>
    </wsHttpBinding>
</bindings>
Run Code Online (Sandbox Code Playgroud)

服务器绑定:

<bindings>
  <wsHttpBinding>
    <binding name="WSHttpBinding_SEOService" closeTimeout="00:10:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" bypassProxyOnLocal="true" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="999524288" maxReceivedMessageSize="655360000" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
      <readerQuotas maxDepth="32" maxStringContentLength="900000" …
Run Code Online (Sandbox Code Playgroud)

wcf ntlm anonymous wcftestclient negotiate

63
推荐指数
5
解决办法
24万
查看次数

HTTP请求未经授权使用客户端身份验证方案'Ntlm'从服务器收到的身份验证头是'NTLM'

我知道有很多关于SO的问题与此类似,但我找不到这个问题.

有几点,第一点:

  • 无法控制我们的Sharepoint服务器.我无法调整任何IIS设置.
  • 我相信我们的IIS服务器版本是IIS 7.0.
  • 我们的Sharepoint Server正在通过NTLM预测请求.
  • 我们的Sharepoint服务器与我的客户端计算机位于同一个域中.
  • 我使用的是.NET Framework 3.5,Visual Studio 2008

我正在尝试编写一个简单的控制台应用程序来使用Sharepoint Web Services操作Sharepoint数据.我添加了服务参考,以下是我的app.config:

<system.serviceModel>
    <bindings>
        <basicHttpBinding>
            <binding name="ListsSoap" closeTimeout="00:01:00" openTimeout="00:01:00"
                receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
                bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                useDefaultWebProxy="true">
                <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                    maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                <security mode="Transport">
                    <transport clientCredentialType="Ntlm" proxyCredentialType="Ntlm" />
                </security>
            </binding>
        </basicHttpBinding>
    </bindings>
    <client>
        <endpoint address="https://subdomain.companysite.com/subsite/_vti_bin/Lists.asmx"
            binding="basicHttpBinding" bindingConfiguration="ListsSoap"
            contract="ServiceReference1.ListsSoap" name="ListsSoap" />
    </client>
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

static void Main(string[] args)
{
    using (var client = new ListsSoapClient())
    {
        client.ClientCredentials.Windows.ClientCredential = new …
Run Code Online (Sandbox Code Playgroud)

.net c# authentication sharepoint ntlm

49
推荐指数
3
解决办法
10万
查看次数

使用Fiddler嗅探Visual Studio 2013请求(代理防火墙)

我遇到Visual Studio 2013和我们的公司代理问题(登录不起作用,更新不起作用,Visual Studio库不起作用,nuget和git失败).所有这些都在做http或https请求.(例如http://visualstudiogallery.msdn.microsoft.com/).在VS2013中,我只是获得了旋转进度条或没有网络连接的消息.

浏览器(chrome,IE,firefox)没问题,因为他们都理解代理(407拒绝,然后用凭据回复).

所以我想弄明白为什么VS2013不起作用.但是当我告诉fiddler2观看DEVENV.EXE进程(或所有进程)时,我看不到任何流量.

顺便说一下,我已经尝试对web.config(devenv.exe.config)文件进行一些更改,以确保它转到代理(我在堆栈生成器中看到了这个),但它对我不起作用.请参阅以下部分的补充内容:

    <system.net>
                <defaultProxy useDefaultCredentials="true" enabled="true">
                 <proxy proxyaddress="http://gw6.OURSITE.com:3128" />
                </defaultProxy>
      <settings>
        <ipv6 enabled="true"/>
        <servicePointManager expect100Continue="false" />
       </settings>
    </system.net>
Run Code Online (Sandbox Code Playgroud)

更新

埃里克,我接受了你的建议并把它塞进C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe.config文件中.

我放的是:

  <system.net>
    <defaultProxy useDefaultCredentials="true" enabled="true">
      <proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" usesystemdefault="false" />
    </defaultProxy>
  </system.net>
Run Code Online (Sandbox Code Playgroud)

我发现VS2013没有发送用户代理字符串.它确实知道#407 naks并且它使用凭据进行回复,但网关仍然需要用户代理:

HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: text/html; charset=utf-8
Proxy-Connection: close
Connection: close
Content-Length: 1341

<html>
    <head>
        <title>Access Policy Denied: No User-Agent Specified</title>
        <meta name="description" content="Web Access Policy">
    </head>
    <body>
Run Code Online (Sandbox Code Playgroud)

proxy ntlm fiddler wcf-security visual-studio

46
推荐指数
3
解决办法
4万
查看次数

如何为Google Chrome启用自动登录用户身份验证

我有一个网站,我允许我使用我的信用卡(Windows)自动登录并使用Internet Explorer我可以将"用户身份验证"下的选项设置为"使用当前用户名和密码自动登录",但我'我想使用谷歌浏览器.但是,它总是提示我用户/通行证,我希望它像IE一样设置.任何人都知道这是否可行?谢谢!

windows asp.net internet-explorer ntlm google-chrome

42
推荐指数
3
解决办法
13万
查看次数

认证测试服务器

我正在搜索使用以下身份验证类型之一的公共HTTPS站点的示例- 这些站点将用作当前正在开发的应用程序的测试服务器.

BASIC身份验证
DIGEST身份验证
NTLM身份验证

测试服务器需要使用SSL以及上述auth类型之一.任何网站建议?优选地,站点应提供免费帐户.

谢谢!
克里斯

authentication testing ssl https ntlm

38
推荐指数
3
解决办法
2万
查看次数

启用Windows身份验证的IIS中的CORS请求的401响应

我正在尝试在我的WebAPI项目中启用CORS支持,如果我启用匿名身份验证,那么一切正常,但是使用Windows Auth +禁用匿名身份验证,发送的OPTIONS请求始终返回401未经授权的响应.请求它的站点位于DOMAIN上,因此应该可以进行呼叫,有没有办法解决问题而不禁用Windows身份验证?

ntlm windows-authentication iis-7.5 cors asp.net-web-api

38
推荐指数
6
解决办法
4万
查看次数

没有密码的NTLM代理?

我使用HTTP代理在公司Windows网络(我登录)上工作.当我使用Internet Explorer时,它神奇地使用代理而无需输入我的密码.某些其他程序似乎也管理这个,就像JavaWebStart有一个"使用浏览器设置"选项.

然而,当我使用脚本/像卷曲或wget的方案,从http取东西,或者我的Java代码我似乎需要有地方存储我的密码,这显然不是最好的安全范围内做到这一点.

如何以编程方式获得Internet Explorer所具有的无密码访问权限?

我主张这是一个堆栈溢出的问题,因为我是一个程序员,我需要我的程序/脚本,而无需在输入密码的工作,虽然我可以看到,别人可能会认为它属于在服务器故障/超级用户.

我知道像curl中的--proxy-ntlm这样的设置,但是这仍然需要一个ntlm用户名和密码.

authentication proxy curl ntlm sspi

35
推荐指数
2
解决办法
3万
查看次数

使用NTLM避免每个请求的401响应

我们这里有一个使用基于NTLM的Windows身份验证的asp.net 3.5应用程序.该系统在专用网络上运行,该网络实际上分布在不同的地理位置(通过VPN连接).

我们现在正在尝试优化网站的性能.由于NTLM的工作方式,每个对IIS的新请求都由3个不同的请求组成,而前2个是401个响应.我们正在尝试将这些请求的数量最小化,仅在会话开始时.我们找到解决方案.不幸的是它并没有改变任何东西,我们继续得到这个401响应(消耗时间).

为了看到我第一次使用Fiddler应用程序的流量.不知何故,当我使用Fiddler时,在会话开始时只有一个身份验证过程(完全按照我的意愿),但当我关闭Fiddler并通过WireShark检查流量时,我可以看到每个请求仍然有401响应.

使用的客户端是IE6,IIS版本6.

有人可以提供建议吗?

iis ntlm iis-6 http-status-code-401

28
推荐指数
1
解决办法
4万
查看次数