Я работаю в инфраструктуре входа в систему Kerberos (Single Sign-On) с:
Серверная программа написана на C ++.
У меня нет проблем с созданием контекста между моим участником (клиентом) и участником службы (сервером).
Я также делегировал свои учетные данные клиента серверу, потому что мне нужно создать процесс на сервере с использованием учетных данных пользователя клиента.
И это моя проблема, на стороне сервера у меня есть контекст SSPI, и мне нужно CreateProcessAsUser, используя тип Windows pHandle
,
Я не знаю, как использовать свои учетные данные SSPI для создания на моем сервере процесса в качестве пользователя клиента.
Я смотрю на LsaLogonUser, который, кажется, делает то, что я хочу (создать дескриптор из учетных данных пользователя Kerberos), но моя проблема та же, я не знаю, как использовать токен SSPI с этим LsaLogonUser.
Заранее спасибо за помощь
Я только что опубликовал вопрос, касающийся того, что вы делаете. Я использую службу Windows сеанса 0 для запуска приложения в сеансе 1. Код, который я использовал (и о котором спрашивали), включен в этом посте, и работает хорошо, за исключением того, что пути, обычно доступные пользователю в сеансе 1, недоступны при запуске таким способом. В любом случае, хотя у меня есть некоторые вопросы по поводу этого кода, я надеюсь, что он поможет вам выбрать правильный путь.
Ryyker
Я наконец нашел решение своей проблемы.
Лучший способ сделать это:
Оно работает 😉