有没有办法用python的win32security验证用户权限

2024-09-29 00:15:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道win32security.LogonUser. 我要做的是检查输入的凭据是否与本地windows计算机上的用户匹配,以及密码,这样我就可以通过网络授予他们访问windows计算机的权限。这个想法是用paramiko制作一个pythonicssh服务器,它具有默认的windows身份验证。我不想做的是每次建立新连接时都将用户注销,或者由于用户已经登录而使身份验证过程失败。有没有办法在不创建登录会话的情况下验证windows上的用户?在


Tags: 用户网络服务器身份验证权限paramiko密码过程
1条回答
网友
1楼 · 发布于 2024-09-29 00:15:47

原来我只是错误地使用了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()

相关问题 更多 >