Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Component
- @Order(Ordered.HIGHEST_PRECEDENCE)
- public class RequestFilter implements Filter {
- public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) {
- HttpServletResponse response = (HttpServletResponse) res;
- HttpServletRequest request = (HttpServletRequest) req;
- response.setHeader("Access-Control-Allow-Origin", "http://localhost:4200");
- response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE");
- response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
- response.setHeader("Access-Control-Max-Age", "3600");
- response.setHeader("Access-Control-Allow-Credentials", "true");
- if (!(request.getMethod().equalsIgnoreCase("OPTIONS"))) {
- try {
- chain.doFilter(req, res);
- } catch(Exception e) {
- e.printStackTrace();
- }
- } else {
- System.out.println("Pre-flight");
- response.setHeader("Access-Control-Allow-Methods", "POST,GET,DELETE");
- response.setHeader("Access-Control-Max-Age", "3600");
- response.setHeader("Access-Control-Allow-Headers", "authorization, content-type," +
- "access-control-request-headers,access-control-request-method,accept,origin,authorization,x-requested-with");
- response.setStatus(HttpServletResponse.SC_OK);
- }
- }
- public void init(FilterConfig filterConfig) {}
- public void destroy() {}
- }
- <div class="wrapper">
- <form class="form-signin" (ngSubmit)="onSubmit()" [hidden]="loggedIn">
- <h2 class="clean-font">Please login</h2>
- <input type="text" class="form-control" name="username" [(ngModel)]="username" placeholder="Username" name="username" required autofocus="" />
- <br />
- <input type="password" class="form-control" name="password" [(ngModel)]="password" placeholder="Password" required />
- <div class="form-group">
- <br/>
- <label >
- <input type="checkbox" name="remember-me" id="remember-me" /> <span class="clean-font">Remember me</span>
- </label>
- </div>
- <button class="btn btn-primary btn-block" type="submit">Login</button>
- </form>
- <div [hidden]="!loggedIn">
- <h2>Welcome to Admin Portal!</h2>
- </div>
- </div>
- import { Component, OnInit } from '@angular/core';
- import {Observable} from 'rxjs/Observable';
- import {LoginService} from '../login.service';
- @Component({
- selector: 'app-login',
- templateUrl: './login.component.html',
- styleUrls: ['./login.component.css']
- })
- export class LoginComponent implements OnInit {
- loggedIn: boolean;
- username: string;
- password: string;
- constructor (private loginService: LoginService) {
- if(localStorage.getItem('PortalAdminHasLoggedIn') == '' || localStorage.getItem('PortalAdminHasLoggedIn') == null) {
- this.loggedIn = false;
- } else {
- this.loggedIn = true;
- }
- }
- onSubmit() {
- this.loginService.sendCredential(this.username, this.password).subscribe(
- res => {
- this.loggedIn=true;
- localStorage.setItem('PortalAdminHasLoggedIn', 'true');
- location.reload();
- },
- err => console.log(err)
- );
- }
- ngOnInit() {}
- }
- import { Injectable } from '@angular/core';
- import {Http, Headers} from '@angular/http';
- import {Observable} from 'rxjs/Observable';
- @Injectable()
- export class LoginService {
- constructor (private http: Http) {}
- sendCredential(username: string, password: string) {
- let url = "http://localhost:8080/index";
- let params = 'username='+username+'&password='+password;
- let headers = new Headers(
- {
- 'Content-Type': 'application/x-www-form-urlencoded'
- // 'Access-Control-Allow-Credentials' : true
- });
- return this.http.post(url, params, {headers: headers, withCredentials : true});
- }
- logout() {
- let url = "http://localhost:8080/logout";
- return this.http.get(url, { withCredentials: true });
- }
- }
Add Comment
Please, Sign In to add comment