37 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								import { Component, OnInit } from '@angular/core';
							 | 
						|||
| 
								 | 
							
								import { Router, ActivatedRoute } from '@angular/router';
							 | 
						|||
| 
								 | 
							
								import { Http } from '@angular/http';
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								@Component({
							 | 
						|||
| 
								 | 
							
								    selector: 'login',
							 | 
						|||
| 
								 | 
							
								    templateUrl: './app/login/login.component.html'
							 | 
						|||
| 
								 | 
							
								})
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								export class LoginComponent implements OnInit {
							 | 
						|||
| 
								 | 
							
								    model: any = {};
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    constructor(
							 | 
						|||
| 
								 | 
							
								        private route: ActivatedRoute,
							 | 
						|||
| 
								 | 
							
								        private router: Router,
							 | 
						|||
| 
								 | 
							
								        private http: Http) { }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    ngOnInit() {
							 | 
						|||
| 
								 | 
							
								        sessionStorage.setItem('token', '');
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    login() {
							 | 
						|||
| 
								 | 
							
								        let url = 'http://localhost:8082/login';
							 | 
						|||
| 
								 | 
							
								        let result = this.http.post(url, {
							 | 
						|||
| 
								 | 
							
								            userName: this.model.username,
							 | 
						|||
| 
								 | 
							
								            password: this.model.password
							 | 
						|||
| 
								 | 
							
								        }).map(res => res.json()).subscribe(isValid => {
							 | 
						|||
| 
								 | 
							
								            if (isValid) {
							 | 
						|||
| 
								 | 
							
								                sessionStorage.setItem('token', btoa(this.model.username + ':' + this.model.password));
							 | 
						|||
| 
								 | 
							
								                this.router.navigate(['']);
							 | 
						|||
| 
								 | 
							
								            } else {
							 | 
						|||
| 
								 | 
							
								                alert("Authentication failed.");
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        });
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |