Как использовать EnableOAuth2Sso с API-интерфейсом Azure AD Graph для ограничения доступа на основе групп AD? - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь ограничить доступ к приложению Spring Boot 2, используя @EnableOAuth2Sso и Azure AD Graph API и группы AD.Я имею дело с Azure, подключенным к корпоративной AD.У меня нет большого контроля над Azure, но я работаю с корпоративной AD.

Вопросы

  1. Как я могу отказать любому, кто не входит в определенные группы AD?
  2. Для определенных маршрутов я хотел бы еще больше ограничить, какая группа имеет силу для достижения конечной точки.Как дополнительно ограничить доступ для каждой конечной точки?

В моем приложении я могу сказать, что моя регистрация приложения имеет доступ к API-члену Graph API и может перечислить все группы моего пользователя.

https://graph.microsoft.com/v1.0/users/[USERNAME]/memberOf

Я также вижу, что в Principal указано, что мой пользователь имеет права доступа ROLE_USER, но я не могу ничего найти в группах AD.Я считаю, что ROLE_USER - это что-то из Azure (у меня мало контроля) или что-то, что Spring использует по умолчанию, и оно не задано в корпоративной AD.

Моя конфигурация безопасности приведена ниже.Не уверен, как я применил бы группу AD к этому.Использование .hasRole("Group-Name") не работает, но использование .hasRole("USER") делает.

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
            .antMatcher("/**")
              .authorizeRequests()
              .antMatchers("/login**")
              .permitAll()
              .anyRequest()
              .hasRole("Group-Name");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...