我似乎无法绕过这个.我正在尝试编写自动上传csv的脚本,但卷曲失败了401.
curl -v --ntlm -u username --upload-file ~/galaxy/forums/pt_update.csv https://connect.example.com/11063/csv_import?op=add -k
Enter host password for user 'username:
* About to connect() to connect.example.com port 443 (#0)
* Trying x.x.x.x... connected
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, …Run Code Online (Sandbox Code Playgroud) 我正在编写.Net中的客户端应用程序,它通过HTTP与服务器通信.
在NTLM和Kerberos授权的情况下,我需要设置不同的请求缓冲选项.
如何确定是否使用NTLM或Kerberos?有可能以某种方式解码'WWW-Authenticate:Negotiate'标题?
NuGet 1.5状态的发行说明
NuGet now supports connecting to private repositories that require basic
or NTLM authentication.
Run Code Online (Sandbox Code Playgroud)
但是,其中包含的链接只会导致托管您自己的nuget供稿页面,而不再提及如何设置身份验证.
我想建立一个可通过互联网https访问的NuGet服务器,但只允许能够成功通过身份验证的人查看或下载服务器上的软件包.
我确实创建了一个没有auth的应用程序,如文档中的Creating Remote Feeds部分所述,它在Intranet上运行良好.如何在此repo上启用身份验证?
另外一个要求是解决方案不应该花费数百美元(前两个答案促进了可能解决问题但成本很高的产品).
是否可以使用Silverlight获取当前登录用户的用户名?您可以假设用户具有Windows操作系统,并且Silverlight应用程序托管在Internet Explorer中.使用ASP.NET从服务器端获取标识不是一个选项,此Silverlight应用程序将托管在静态HTML文件中.
如何在ASP.NET MVC应用程序中实现以下内容:
我知道如何实现4和5,但无法找到有关如何组合NTLM和表单的信息.因此,永远不会显示NTLM本机登录/密码对话框 - 透明身份验证或外观漂亮的登录页面.
该怎么办?是否应该询问用户登录名和密码?可以使用她当前的凭据(域用户名)而无需输入登录名和密码吗?
更新这些,调查相同的问题:
当我问这个时,我并不完全理解NTLM身份验证如何在内部工作.这里需要了解的重要一点是,如果用户的浏览器不能正确支持NTLM,或者用户禁用了NTLM支持,那么服务器永远不会有机会解决这个问题.
Windows身份验证的工作原理:
如您所见,不支持NTLM的浏览器不会转到步骤(3),而是会向用户显示IIS生成的错误401页面.
如果用户没有凭据,则在取消NTLM身份验证后,弹出对话框窗口浏览器也不会继续(3).
因此,我们没有机会自动将用户重定向到自定义登录页面.
这里唯一的选择是有一个"网关"页面,我们决定用户是否应该支持NTLM,如果是,请重定向到受NTLM保护的主页.
如果没有,请显示登录表单并通过手动输入登录名和密码进行身份验证.
通常通过匹配IP范围或通过检查预定义IP表来基于用户的IP地址和/或主机名做出决定.
我正在尝试使用python从Windows 7在IIS(Windows Server 2003)上实现NTLM身份验证.LAN Manager身份验证级别:仅发送NTLM响应.
客户端计算机和服务器位于同一个域中.
域控制器(AD)位于另一台服务器上(也运行Windows Server 2003).
我收到401.1 - 未经授权:由于凭据无效,访问被拒绝.你能帮我找出这个代码有什么问题和/或向我展示解决这个问题的其他可能方向(使用NTLM或Kerberos)吗?
import sys, httplib, base64, string
import urllib2
import win32api
import sspi
import pywintypes
import socket
class WindoewNtlmMessageGenerator:
def __init__(self,user=None):
import win32api,sspi
if not user:
user = win32api.GetUserName()
self.sspi_client = sspi.ClientAuth("NTLM",user)
def create_auth_req(self):
import pywintypes
output_buffer = None
error_msg = None
try:
error_msg, output_buffer = self.sspi_client.authorize(None)
except pywintypes.error:
return None
auth_req = output_buffer[0].Buffer
auth_req = base64.encodestring(auth_req)
auth_req = string.replace(auth_req,'\012','')
return auth_req
def create_challenge_response(self,challenge):
import pywintypes
output_buffer = None
input_buffer …Run Code Online (Sandbox Code Playgroud) 我正在尝试从需要NTLM身份验证的代理后面的Windows机器访问Github上的存储库.SSH和git://协议都不是直接可用的,所以我试图通过代理使用HTTPS.
在没有密码的NTLM代理的帮助下?我已经能够curl使用msysgit提供的二进制文件与代理一起使用:
curl -U : --proxy-ntlm --proxy xxx.xxx.xx.xx:8080 https://github.com
Run Code Online (Sandbox Code Playgroud)
这是成功的并返回Github主页.
但是,我发现了一篇来自2010年2月Proxying Git的文章(强调我的):
不幸的是,curl似乎总是使用代理进行基本身份验证.如果您的代理需要其他东西,可能是Windows网络的NTLM,那么您就遇到了问题.Curl用于处理所有http传输细节,这确实支持NTLM身份验证方法,但我知道没有方法可以将必要的选项传递给curl.Git通过其库绑定使用curl,因此不应该只使用包装器脚本替换curl可执行文件.
我知道core.gitproxyGit配置中的选项,但似乎只适用于git://协议.同样,该http.proxy选项设置代理的地址,但无法提供适当的卷曲选项.
我正在开发一个与之通信的HTML5移动应用程序WebServices.WebServices使用NTLM身份验证协议.我很难通过JavaScript处理握手.NTLM将401 unauthorized响应发送到我的POST,我没有找到任何回复的方法.
JavaScript可以进行NTLM身份验证吗?我应该使用例如基本身份验证来构建代理Web服务吗?
我的jQuery调用就像......
$.ajax({
type: "POST",
url: URL,
contentType: "text/xml",
dataType: "xml",
data: soapRequest,
username: 'username',
password: 'password',
xhrFields: {
withCredentials: true
},
success: processSuccess,
error: processError
});
Run Code Online (Sandbox Code Playgroud) 尝试镜像本地Intranet站点,并使用'wget'找到以前的问题.它适用于匿名网站,但我无法在期望用户名\密码(具有集成Windows身份验证的IIS)的网站上使用它.
这是我传递的内容:
wget -c --http-user ='domain\user'-- http -password = pwd http:// local/site -dv
这是调试输出(注意我显然用虚拟值替换了一些):
Setting --verbose (verbose) to 1 DEBUG output created by Wget 1.11.4 on Windows-MSVC. --2009-07-14 09:39:04-- http://local/site Host `local' has not issued a general basic challenge. Resolving local... seconds 0.00, x.x.x.x Caching local => x.x.x.x Connecting to local|x.x.x.x|:80... seconds 0.00, connected. Created socket 1896. Releasing 0x003e32b0 (new refcount 1). ---request begin--- GET /site/ HTTP/1.0 User-Agent: Wget/1.11.4 Accept: */* Host: local Connection: Keep-Alive ---request end--- HTTP request sent, …
我试过用export http_proxy=http://[username]:[pwd]@[proxy]和git config --global http.proxy http://[username]:[pwd]@[proxy].
我无法让它发挥作用.看起来git使用Basic身份验证:
Initialized empty Git repository in /home/.../.git/
* Couldn't find host github.com in the .netrc file, using defaults
* About to connect() to github.com port 8080 (#0)
* Trying 10.... * Connected to github.com (10....) port 8080 (#0)
* Proxy auth using Basic with user '...'
> GET http://github.com/sunlightlabs/fiftystates.git/info/refs HTTP/1.1
Proxy-Authorization: Basic MD...
User-Agent: git/1.6.1.2
Host: github.com
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
< HTTP/1.1 407 Proxy Authentication Required ( …Run Code Online (Sandbox Code Playgroud) ntlm ×10
curl ×2
git ×2
kerberos ×2
proxy ×2
.net ×1
ajax ×1
asp.net-mvc ×1
c# ×1
http ×1
iis ×1
javascript ×1
jquery ×1
mirroring ×1
msysgit ×1
negotiate ×1
nuget ×1
nuget-server ×1
python ×1
request ×1
silverlight ×1
web-services ×1
wget ×1
windows ×1