Как получить токен Kerberos в Python? У меня есть рабочий синтаксис C# и PS, но я хотел бы его преобразовать.C#

Место общения программистов C#
Ответить
Anonymous
 Как получить токен Kerberos в Python? У меня есть рабочий синтаксис C# и PS, но я хотел бы его преобразовать.

Сообщение Anonymous »

Я пытаюсь использовать Python для получения токена безопасности Kerberos. У меня есть четкий синтаксис C#, который мне нужен, но я понятия не имею, с чего начать его преобразование в Python. Вот код C#:

Код: Выделить всё

{
AppDomain.CurrentDomain.SetPrincipalPolicy(System.Security.Principal.PrincipalPolicy.WindowsPrincipal);
var domain = Domain.GetCurrentDomain().ToString();
using (var domainContext = new PrincipalContext(ContextType.Domain, domain))
{
KerberosSecurityTokenProvider tokenProvider = new KerberosSecurityTokenProvider(serviceName, System.Security.Principal.TokenImpersonationLevel.Identification, CredentialCache.DefaultNetworkCredentials);
KerberosRequestorSecurityToken securityToken = tokenProvider.GetToken(TimeSpan.FromMinutes(5)) as KerberosRequestorSecurityToken;
string serviceToken = Convert.ToBase64String(securityToken.GetRequest());
}
Я пробовал использовать microsoft.identitymodel.dll и библиотеку ctype и clr, но я новичок в Python, поэтому не уверен, что это вообще правильный путь. У меня также есть код Powershell, который делает то, что мне нужно:

Код: Выделить всё

[System.IdentityModel.Selectors.KerberosSecurityTokenProvider]$tokenProvider = [System.IdentityModel.Selectors.KerberosSecurityTokenProvider]::new($ServicePrincipalName, [System.Security.Principal.TokenImpersonationLevel]::Identification, $PSBoundParameters.Credential)
Я знаю, каким должно быть $ServicePrincipalName, и знаю, что могу использовать библиотеку подпроцессов и просто вызвать команду с помощью Powershell.exe, но я хотел сохранить все на Python .
Будем благодарны за любую помощь!

Подробнее здесь: https://stackoverflow.com/questions/715 ... syntax-but
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»