アプリのさまざまな部分で使用するには、現在のユーザーIDを取得する必要があります。
login.component.ts:
onSignin(form: NgForm){
const UserName = form.value.UserName;
const Password = form.value.Password;
this.authService.signinUser(UserName,Password).map(res => res.json())
.subscribe(
data => {
if (data.Id == 0){
this.invalid=true;
}
else{
localStorage.setItem('isLoggedin', 'true');
this.router.navigate(['/calendar']);
console.log('Ok');
}})}
auth.service.ts:
signinUser(UserName,Password): Observable<any>{
return this.http.get('http://api.##.com/api/security/signin?username='+UserName+'&password='+Password);
}
IDを含むトークンをバックエンドから渡すか、アプリケーションが使用するフロントエンドにIDを保存するreduxストアを使用できます。以下は、angularのng2 Reduxパッケージのリンクです。 https://www.npmjs.com/package/ng2-redux ローカルストレージに保存するオプションもありますが、お勧めしません。または、セッションストレージを使用してデータを保存できますこのようなフロントエンドで
ログインコンポーネントファイルのセッションに保存するには、このコードを使用します
sessionStorage.setItem('id', data.id);
retrieving from the session//
var data = sessionStorage.getItem('id');
console.log(data) to see the id in the console
サービス呼び出しから取得したユーザーIDをアプリのさまざまなコンポーネントに使用したい。これがあなたが探しているものであることを願っています。
これを行うには、3つの方法があります。
ユーザーがNGRXまたは共有サービスでページをハードリフレッシュすると、データが失われるため、完全な校正のためにローカルストレージを使用する必要がある場合があることに注意してください。