我正在尝试使用@EnableOAuth2Sso
和Azure AD Graph API和AD组来限制对Spring Boot 2应用程序的访问。我正在处理连接到公司AD的Azure。我在Azure中没有太多控制权,但是在公司AD中也可以。
在我的应用程序中,我可以说我的应用程序注册可以访问API的Graph API成员,并且可以列出我的所有用户组。
https://graph.microsoft.com/v1.0/users/[USERNAME]/memberOf
我还可以看到Principal
列出了我的用户具有ROLE_USER
的权限,但是我在广告组上找不到任何内容。我相信ROLE_USER
是来自Azure(我几乎没有控制权)的东西,或者是spring默认使用的东西,并且未在公司AD中设置。
我的安全配置如下。不知道如何将广告组应用到它。使用.hasRole("Group-Name")
似乎无效,但使用.hasRole("USER")
则可行。
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.antMatcher("/**")
.authorizeRequests()
.antMatchers("/login**")
.permitAll()
.anyRequest()
.hasRole("Group-Name");
}