2024-09-29 00:15:47 发布
网友
我知道win32security.LogonUser. 我要做的是检查输入的凭据是否与本地windows计算机上的用户匹配,以及密码,这样我就可以通过网络授予他们访问windows计算机的权限。这个想法是用paramiko制作一个pythonicssh服务器,它具有默认的windows身份验证。我不想做的是每次建立新连接时都将用户注销,或者由于用户已经登录而使身份验证过程失败。有没有办法在不创建登录会话的情况下验证windows上的用户?在
原来我只是错误地使用了LogonUser函数。确实存在一个枚举值来传递函数,告诉它您希望返回一个安全上下文以使用该用户的凭据执行进程,并且如果传入错误的用户名或密码,则将引发异常。在
LogonUser
换句话说,这是调用方法的一种可接受的方式,这样当用户已登录或运行多个会话时,它不会引发异常。这也是一种很好的方法,可以根据任何应用程序的需要动态验证用户凭据:
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()
原来我只是错误地使用了
LogonUser
函数。确实存在一个枚举值来传递函数,告诉它您希望返回一个安全上下文以使用该用户的凭据执行进程,并且如果传入错误的用户名或密码,则将引发异常。在换句话说,这是调用方法的一种可接受的方式,这样当用户已登录或运行多个会话时,它不会引发异常。这也是一种很好的方法,可以根据任何应用程序的需要动态验证用户凭据:
相关问题 更多 >
编程相关推荐