Мне нужно настроить preAuthorize с проверкой области уровня метода, используя oauth2.
Я добавил все конфигурации, как показано ниже. Он перенаправляет меня на имя пользователя, пароль консоли всегда. В моем случае я просто хочу проверить область действия данного токена доступа и отключить имя пользователя и экран входа в систему.
//configuration class
@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class MethodSecurityConfig extends GlobalMethodSecurityConfiguration {
@Override
protected MethodSecurityExpressionHandler createExpressionHandler() {
OAuth2MethodSecurityExpressionHandler expressionHandler = new OAuth2MethodSecurityExpressionHandler();
return expressionHandler;
}
}
//controller class
@RestController
public class UserInformationController {
@PreAuthorize("#oauth2.hasScope('testscope')")
@RequestMapping("/me")
public UserInformation getUserDetails (@RequestHeader(required = false, value = "Authorization" ) String token) {
return getUserInformation(token);
}
}
//spring-boot class
@SpringBootApplication
public class MindsphereSampleApplication {
public static void main(String[] args) {
SpringApplication.run(MindsphereSampleApplication.class, args);
}
}
Он перенаправляет меня на имя пользователя и экран входа в систему, которые мне не нужны.