angualr-ng-aliain 结合 springboot 实现跨域和读取请求头信息
【angualr-ng-aliain 结合 springboot 实现跨域和读取请求头信息】
文章目录
- 一: springboot配置
- 二:angualr配置:
一: springboot配置
@Configuration
public class CorsConfig implements WebMvcConfigurer {@Override
public void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**") //配置允许跨域访问的路径
.exposedHeaders("Authorization") // 配置允许被访问的请求头
.allowedHeaders("*")
.allowedMethods("*")
.allowedOrigins("*")
// 浏览器是否应发送凭据,例如cookie
.allowCredentials(false);
}
}
二:angualr配置: 以后任何请求都会自动携带该token信息
this.http
.post('http://localhost:8080/auth/login?_allow_anonymous=true', {
username: this.userName.value,
password: this.password.value,
rememberMe: 1
}, '', { observe: 'response'})
.subscribe((res) => {console.log(res);
// 获取token
const token = res.headers.get('Authorization').split(' ')[1];
// 清空路由复用信息
this.reuseTabService.clear();
// 设置用户Token信息
this.tokenService.set({ token : token});
// 重新获取 StartupService 内容,我们始终认为应用信息一般都会受当前用户授权范围而影响
this.startupSrv.load().then(() => {
let url = this.tokenService.referrer.url || '/';
if (url.includes('/passport')) url = '/';
this.router.navigateByUrl(url);
});
});
}
推荐阅读
- Activiti(一)SpringBoot2集成Activiti6
- SpringBoot调用公共模块的自定义注解失效的解决
- 解决SpringBoot引用别的模块无法注入的问题
- 【38】“劳逸结合”的重要性
- springboot使用redis缓存
- springboot整合数据库连接池-->druid
- SpringBoot中YAML语法及几个注意点说明
- springboot结合redis实现搜索栏热搜功能及文字过滤
- springboot中.yml文件的值无法读取的问题及解决
- SpringBoot整合MongoDB完整实例代码