gpt4 book ai didi

c++ - 仅使用 LogonUser() 来验证凭据

转载 作者:可可西里 更新时间:2023-11-01 14:23:58 24 4
gpt4 key购买 nike

我们正在开发具有内部用户帐户系统的应用程序,但希望能够使用来自 Active Directory 和/或 Windows 帐户的凭据。为此,我们将用户 SID 存储在应用程序用户表的一个字段中。我们的登录机制功能如下:

出现的问题是:我们一直使用 LOGON32_LOGON_NETWORK 作为 logon_type,但现在我们遇到了一些安全配置,其中“从网络访问这台计算机”被拒绝,这意味着网络登录类型被禁止。

我的问题是在这种情况下我们应该使用什么登录类型?交互的?除了提取用户的 SID 之外,我们实际上并没有将登录 token 用于任何其他用途。我们的应用程序有自己的内部组和权限;我们不以任何方式使用 Windows 组或权限。从 Windows 和域 Controller 的角度来看,我们所做的只是登录和快速注销。

或者我们是否以完全错误的方式看待这个问题,我们应该完全使用其他一些登录方法?

谢谢

最佳答案

我还惊讶地发现,当未授予“从网络访问此计算机”用户权限时,LOGON32_LOGON_NETWORK 类型的 LogonUser() 失败本地计算机上的所有人。

我使用以下解决方法:

  • 首先尝试使用 LOGON32_LOGON_NETWORK 类型的 LogonUser()
  • 如果失败并出现错误 ERROR_LOGON_TYPE_NOT_GRANTED,请使用 LOGON32_LOGON_NEW_CREDENTIALS 类型和 LOGON32_PROVIDER_WINNT50 登录调用 LogonUser()提供者。

关于c++ - 仅使用 LogonUser() 来验证凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28732369/

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