2016-03-31 3 views
1

Нам было предложено переместить наше приложение NodeJS для работы под IIS (Windows Server 2012R2) и интегрироваться с существующей Active Directory. Нам было предложено удалить страницу входа в систему и вместо этого использовать проверку подлинности Windows, чтобы получить идентификатор пользователя (уже прошедшего проверку подлинности) и использовать группы, к которым он принадлежит, для контроля уровня их авторизации в приложении.Получить аутентифицированные пользовательские группы из Active Directory в узле

Я установил iisnode для запуска своего приложения под IIS, и решил, что я воспользуюсь либо passport-windowsauth, либо node-activedirectory, чтобы получить групповое имя. Однако оба пользователя требуют аутентификации пользователя. Мой пользователь уже прошел проверку подлинности, и у меня нет доступа к его паролю (и я не должен).

Как я могу получить группы аутентифицированных пользователей из Active Directory?

Вот что я до сих пор:

  1. установлен и настроен iisnode
  2. Enabled проверки подлинности Windows для веб-приложения
  3. Добавлено это web.config: <iisnode promoteServerVars="AUTH_USER,AUTH_TYPE" />
  4. В моей index.js файл, я могу затем console.log(req.headers['x-iisnode-auth_user']); и получить правильное имя пользователя - но я не знаю, как перейти отсюда к получению его групп
  5. Ни в коем случае я хочу, чтобы повторно запросить у пользователя его/ее пароль
+0

эй, как получить информацию об уже прошедшей аутентификацию информации пользователя в приложении nodejs? case1: приложение node js размещено на сервере Windows case 2: приложение nodejs не размещено на сервере Windows \ – null1941

ответ

4

Ну, кажется, никто не заинтересован в поиске на этот вопрос :). Я предполагаю, что IIS + Node.js + Active Directory является краевым случаем. Вот как я в конечном итоге решить эту:

  1. Добавить специального пользователя в Active Directory, которые могут быть зарегистрированы только в от машины IIS (бонус: ограничить IP/процесс/доступ данного пользователя).
  2. Добавьте данные AD, имя пользователя и пароль в файл config.json (см. snippet).
    Убедитесь, что вы добавили файл в .gitignore, чтобы он не попал в репо.
  3. Используйте node-ActiveDirectory для первого входа в качестве пользователя с шага 1, а затем попросите группы зарегистрированных пользователей (см. snippet).