小编Sve*_*ana的帖子

Python中的NTLM身份验证

我正在尝试使用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)

python authentication ntlm

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

标签 统计

authentication ×1

ntlm ×1

python ×1