Java 我需要了解如何将API网关与身份验证微服务和其他微服务连接起来
758/5000 大家好,我有几个问题在网上还没有找到确切的答案。你应该知道,我是一个非常初学微服务的人 我创建了几个相互连接的微型服务。一方面,Zuul Api网关是一个用于登录的独立微服务和两个称为模板和联系人的微服务 我也可以通过zuul处理所有微服务,但我真的只希望登录微服务可以被处理。 另一方面,登录微服务应该能够在成功登录后访问微服务模板和联系人 问题1)如何禁止API网关直接寻址各种服务 这是我的ZumperterJava 我需要了解如何将API网关与身份验证微服务和其他微服务连接起来,java,microservices,Java,Microservices,758/5000 大家好,我有几个问题在网上还没有找到确切的答案。你应该知道,我是一个非常初学微服务的人 我创建了几个相互连接的微型服务。一方面,Zuul Api网关是一个用于登录的独立微服务和两个称为模板和联系人的微服务 我也可以通过zuul处理所有微服务,但我真的只希望登录微服务可以被处理。 另一方面,登录微服务应该能够在成功登录后访问微服务模板和联系人 问题1)如何禁止API网关直接寻址各种服务 这是我的Zumperter @Component public class ZuulLoggi
@Component
public class ZuulLoggingFilter extends ZuulFilter {
private Logger logger= LoggerFactory.getLogger(this.getClass());
@Override
public boolean shouldFilter() {
return true;
}
@Override
public Object run() throws ZuulException {
RequestContext.getCurrentContext();
HttpServletRequest request = RequestContext.getCurrentContext().getRequest();
logger.info("request ->{} request uri -> {}", request, request.getRequestURI());
return null;
}
来自Zuul的我的Application.properties
spring.application.name=zuul
server.port=8800
eureka.client.serviceUrl.defaultZone = http://localhost:8762/eureka
#zuul.routes.contacts.path = /contacts/**
#zuul.routes.contacts.url = http://localhost:8100/
#zuul.routes.templates.path = /templates/**
#zuul.routes.templates.url = http://localhost:8200/
我的证券配置
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter{
@Autowired
UserDetailsService userDetailsService;
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception{
auth.userDetailsService(userDetailsService);
}
@Override
protected void configure(HttpSecurity http) throws Exception{
http.authorizeRequests()
.antMatchers("/users").hasRole("ADMIN")
.antMatchers("/user").hasAnyRole("ADMIN","USER")
.antMatchers(HttpMethod.POST,"/users").hasRole("ADMIN")
.and().formLogin()
.and().
csrf().disable();
}
代码和路径变量来自我的登录微服务
如果我忘记了什么,请告诉我应该发布什么。你不把登录服务作为api网关的一部分吗?现在我做到了。但是现在微服务找不到我的用户。这怎么可能?