我确实有一个个人资料页面,只要用户已经登录就可以访问。换句话说,如果用户调用:localhost:9595/profile
,那么配置文件服务/组件会检查会话以及用户是否已记录是否。
如果已登录,那么我想从会话中获取其电子邮件,并在电子邮件中填写用户名输入字段。
我的问题是如何从会话中获取用户名/电子邮件并预先填写用户名字段。是否只需保存会话并获取this question和this one中提到的用户名,或者我的情况会有所不同吗?我对服务器的响应感到困惑:
{
"username": "b43d74a8-9de4-4b06-b9b0-52d88808ba59",
"universalId": "id=b43d74a8-9de4-4b06-b9b0-52d88808ba59,ou=user,o=cons,dc=org",
"latestAccessTime": "2018-03-13T07:10:33Z",
"maxIdleExpirationTime": "2018-03-13T07:40:33Z",
"maxSessionExpirationTime": "2018-03-13T09:10:32Z"
}
答案 0 :(得分:0)
小心跨域。
你应该处理:“Access-Control-Allow-Origin”,“http://localhost:9595” - 服务器端。
如果您处理了CROS问题,以下解决方案可能有所帮助:
// some logic before
if(userLoggedIn){
this.url = 'http://my-dummy-url.com';
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
options.withCredentials = true;
return this._http.get(this.url, options)
.map((response: Response) => {
const mJson = response.json();
console.log("the username we found is " + mJson.username);
});
}
// some logic after this...