我了解 win32security.LogonUser。我想要做的是检查输入的凭据,以了解它们是否与本地 Windows 计算机上的用户和密码匹配,以便我可以授予他们通过网络访问 Windows 计算机的权限。这个想法是使用 paramiko 制作一个具有默认 Windows 身份验证的 pythonic ssh 服务器。我不想做的是每次建立新连接时都将用户注销,或者由于用户已经登录而导致身份验证过程失败。有没有一种方法可以在 Windows 上验证用户而无需创建登录名 session ?
最佳答案
事实证明,我只是错误地使用了 LogonUser
函数。确实存在一个枚举值来传递函数,告诉它您想要一个安全上下文来使用该用户的凭据执行进程,并且如果传入错误的用户名或密码,则会抛出异常。
换句话说,这是调用该方法的可接受方式,这样,如果用户已经登录或有多个 session 正在运行,它就不会引发异常。这也是一种能够根据任何应用程序的需求动态验证用户凭据的好方法:
try:
hUser = win32security.LogonUser(username,
domain,
password,
win32security.LOGON32_LOGON_INTERACTIVE,
win32security.LOGON32_PROVIDER_DEFAULT)
except win32security.error:
print "Failed"
import traceback
traceback.print_exc()
关于python - 有没有办法用python的win32security验证用户权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16158725/