有没有办法用python的win32security来validation用户权限

我知道win32security.LogonUser。 我想要做的是检查已input的凭据,以确定它们是否与本地Windows计算机上的用户匹配,以及密码,以便我可以授予他们通过networking访问Windows计算机的权限。 这个想法是有一个python ssh服务器与paramiko具有默认的Windows身份validation。 我不想要做的就是每次build立新的连接时将用户登出,或者由于用户已经login而导致authentication过程失败。有没有办法在没有创buildlogin的情况下在Windows上validation用户会议?

事实证明,我只是错误地使用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()