gpt4 book ai didi

python - 在 Python/C 中验证 Windows 服务器用户

转载 作者:可可西里 更新时间:2023-11-01 11:30:12 31 4
gpt4 key购买 nike

我想在 Python(2.6 或 2.7)/C 代码中对用户进行身份验证。

我必须创建一个简单的身份验证模块,它将用户名和密码作为输入并验证用户(例如UNIXPAM 模块)。

有什么办法吗?

最佳答案

你在找类似 LogonUser 的东西吗? ?, 对本地用户进行身份验证,例如:

#!python
# -*- coding: utf-8 -*-

from os import environ
from ctypes import windll, byref, POINTER, FormatError, GetLastError
from ctypes.wintypes import (
LPCWSTR, WCHAR, DWORD, HANDLE, BOOL
)

MAX_COMPUTERNAME_LENGTH = 15
LOGON32_LOGON_NETWORK_CLEARTEXT = 8
LOGON32_PROVIDER_DEFAULT = 0

CloseHandle = windll.Kernel32.CloseHandle
CloseHandle.argtypes = [HANDLE]
CloseHandle.restype = BOOL

LogonUser = windll.Advapi32.LogonUserW
LogonUser.argtypes = [LPCWSTR, LPCWSTR, LPCWSTR, DWORD, DWORD, POINTER(HANDLE)]
LogonUser.restype = BOOL

if __name__ == '__main__':
username = 'MyUsername'
password = 'MyPassword'

token = HANDLE()
status = LogonUser(username,
environ['COMPUTERNAME'],
password,
LOGON32_LOGON_NETWORK_CLEARTEXT,
LOGON32_PROVIDER_DEFAULT,
byref(token))
error = GetLastError()

if status:
print('OK, successes')
CloseHandle(token)
else:
print(FormatError(error))

关于python - 在 Python/C 中验证 Windows 服务器用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22503155/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com