Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Единый вход с использованием входа в Windows на C #

Автор вопроса: IntraОтветов: 1

У меня есть веб-приложение, обслуживаемое Linux, и клиент C # для Windows. В настоящее время веб-приложение разрешает учетные данные AD, которые оно аутентифицирует.

Не все пользователи работают с Windows. Я пытаюсь реализовать решение единого входа для пользователей Windows. Я хочу разрешить доступ к моему приложению, если пользователь уже прошел проверку на соответствие AD при входе в Windows.

Я знаю, как проверить учетные данные в AD:

DirectoryEntry entry = new DirectoryEntry("LDAP://" + domain,
                userName, password);

Но у меня не будет имени пользователя или пароля. Я знаю, что Kerberos используется AD для хранения учетных данных Windows, но я не знаю, как получить доступ к билету.

Мой вопрос похож на ' Как определить, аутентифицирована ли вошедшая в систему учетная запись Windows в домене ' или 'Аутентификация пользователей с помощью Active Directory в клиент-серверном приложении', кроме C #.

Я использую LightTpd.

  • Все пользователи, которые входят в систему Windows, подключенную к AD, уже аутентифицированы (в противном случае они не могли войти в систему). Вы имеете в виду, что пытаетесь авторизовать пользователей на основе разрешений AD? См. Раздел авторизация и аутентификация. duke.edu/~rob/kerberos/authvauth.html Chris Shain 20.04.2012
  • Я хочу получить доступ к билету проверки подлинности. Intra 20.04.2012
  • Почему? Включение проверки подлинности Windows (AD) в IIS довольно тривиально и чрезвычайно тщательно задокументировано: msdn.microsoft.com/en-us/library/ff647405.aspx Chris Shain 20.04.2012
  • Мое веб-приложение не размещено в IIS. Это Linux-сервер. Intra 20.04.2012
  • Если ваше веб-приложение размещено на Linux, как оно работает с C #? Или вы пытаетесь запустить какой-нибудь C # в окне Windows, чтобы каким-то образом предварительно аутентифицировать пользователя в веб-приложении? Chris Shain 20.04.2012
  • Ваш вопрос должен быть о том, как включить интегрированную аутентификацию Kerberos между ‹вашим веб-сервером› и ‹вашим клиентом›. Brian Cauthon 20.04.2012

windowsactive-directorysingle-sign-onkerberos

Ответы

Ответ 1 · рейтинг 1 · JamieSee

Взгляните на Обеспечение аутентификации Active Directory через протокол Kerberos в Apache. Если вы используете классы WebClient или WebRequest в приложении Windows, убедитесь, что вы установили для свойства UseDefaultCredentials значение true.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы