我正在尝试验证Spring启动后端并获取一些数据
this.http.get(`${this.configService.api}user`, { headers: new HttpHeaders().set('Authorization', "Basic " + btoa(user.login + ":" + user.password)), }).toPromise().then(resp => { this.http.get(`${this.configService.api}projects`).toPromise();
身份验证工作正常。以下是响应标题:
HTTP/1.1 200 Access-Control-Allow-Origin: http://localhost:4200 Vary: Origin Access-Control-Allow-Credentials: true X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Set-Cookie: JSESSIONID=5C698E29D0DD942ED36AF2D93287B03B; Path=/; HttpOnly Content-Type: application/json;charset=UTF-8 Transfer-Encoding: chunked Date: Wed, 16 Aug 2017 04:02:42 GMT
然后我试着从Spring启动中获取项目。这是我的HTTP GET的标题:
GET /user HTTP/1.1 Host: localhost:8080 Connection: keep-alive Accept: application/json, text/plain, */* Origin: http://localhost:4200 Authorization: Basic dXNlcjpwYXNzd29yZA== User-Agent: Mozilla/5.0 ... DNT: 1 Referer: http://localhost:4200/auth Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.8,fr;q=0.6
它不使用会话cookie,因此会抛出一个错误,说没有标识。
如何使用angular 4.3解决此问题?
如果您正在使用Angular 4.3中新的HttpClient
模块,是否尝试在第二个(选项)参数中将withCredentials
设置为true
?
constructor(private http: HttpClient) {
this.http.get('/my/resource/url', {withCredentials: true})
.subscribe(result => {
...
});
}
资料来源:https://angular.io/api/common/http/HttpClient#get
问题内容: 如何使 connect.sid cookie本身仅是会话cookie,而不是持久性cookie? 我尝试失败 但是cookie仍具有到期时间戳。 问题答案: 以上工作。因此,通过将maxAge设置为null,我确实管理了expressjs以使用会话cookie。ew
问题内容: 我几个月前开始使用PHP。为了为我的网站创建一个登录系统,我阅读了有关cookie和会话及其区别(cookie存储在用户的浏览器中以及服务器上的会话中)的信息。当时,我更喜欢cookie(谁不喜欢cookie ?!),只是说:“谁在乎?我在将它存储在服务器中没有任何好处”,所以,我继续使用cookie我的学士毕业项目。但是,在完成了我的应用程序的大部分工作之后,我听说对于存储用户ID的
问题内容: 我的项目架构是带有Spring集成和JPA / Hibernate的Struts2。StrutsSpringTestCase基类用于JUnit集成测试。 在正常情况下,web.xml中的以下配置从每个请求的开始到结束都保持单个会话打开: 结果,所有延迟加载都可以在所有服务中正常工作。例如: 现在…当我尝试运行集成测试时会出现问题,这些测试独立于web.xml中的OpenEntityMa
嗨,我目前正在开发一个Android应用程序,该应用程序使用改进型来拨打网络电话。下面是关于我的需求的基本概述。
问题内容: 我正在尝试使用Selenium Web驱动程序和node js自动执行几个页面。我可以登录,但是登录后我想使用由Web驱动程序启动的同一会话,以便可以在受会话保护的页面上进行自动测试。这是我的尝试 登录后我不小心丢弃了浏览器吗? 问题答案: 您可能只在处理计时问题。硒移动 非常快 。比您作为用户进行交互的方式要快得多。因此,它通常以似乎无法预测的方式起作用。但这仅仅是因为Seleniu
我正在构建一个反向代理服务器,它将授权http请求并将其传递给一些内部API。 我根据DB中的条目授权传入请求。 这个项目中的性能是优先的——反向代理服务器不应该增加太多响应时间。 简而言之: 我正在使用来查询数据库。我在Spring配置中的init期间打开Hibernate会话: 然后我将会话注入DAO层,并在read方法中使用它: 正如您所看到的,我并不是在每次DAO调用中都关闭/打开会话。我