ValidateUser вместо LogonUser? - PullRequest
       6

ValidateUser вместо LogonUser?

1 голос
/ 08 октября 2009

Мы пытаемся «заблокировать» компьютер таким образом, чтобы у нас была общая учетная запись для входа в Windows XP, у которой очень мало разрешений. Затем наше программное обеспечение запускается через модуль запуска, который запускает его как привилегированный пользователь, позволяя ему получить доступ к файловой системе.

Затем оператор войдет в наше программное обеспечение, и мы надеемся аутентифицировать его учетные данные с помощью функции win32 LogonUser().

Проблема, с которой мы сталкиваемся, заключается в том, что мы хотим настроить операторов программного обеспечения с помощью групповой политики «Запретить локальный вход в систему», но установка этого параметра препятствует работе функции LogonUser ().

Я понимаю, что мы могли бы обойти это, передав LOGON32_LOGON_NETWORK вместо LOGON32_LOGON_NETWORK в LogonUser(), но я действительно не хотел этого делать, поскольку это создает другие проблемы. Вместо этого мне было интересно, есть ли в C ++ функция типа C # 1011 *?

(Кстати, мы собираемся с VS2003, если это актуально)

Ответы [ 2 ]

1 голос
/ 09 октября 2009

Если вы хотите лучше контролировать процесс входа в систему, вы можете заменить встроенный вход в систему своим именем, используя Gina dll . Написание собственного , вероятно, будет означать больше работы, чем просто поиск правильных аргументов для некоторых вызовов API, но если вы ищете полную настройку, это может быть решением для вас.

1 голос
/ 08 октября 2009

Вы можете проверить набор учетных данных, используя API WNetAddConnection2 для установления соединения с общим ресурсом. Вы можете подключиться к \\ YOURDC \ IPC $ или к чему-то еще.

После проверки учетных данных не забудьте освободить соединение.

...