Guest User

Untitled

a guest
Nov 21st, 2017
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.90 KB | None | 0 0
  1. @Component
  2. @Order(Ordered.HIGHEST_PRECEDENCE)
  3. public class RequestFilter implements Filter {
  4.  
  5. public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) {
  6. HttpServletResponse response = (HttpServletResponse) res;
  7. HttpServletRequest request = (HttpServletRequest) req;
  8.  
  9. response.setHeader("Access-Control-Allow-Origin", "http://localhost:4200");
  10. response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE");
  11. response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
  12. response.setHeader("Access-Control-Max-Age", "3600");
  13. response.setHeader("Access-Control-Allow-Credentials", "true");
  14.  
  15. if (!(request.getMethod().equalsIgnoreCase("OPTIONS"))) {
  16. try {
  17. chain.doFilter(req, res);
  18. } catch(Exception e) {
  19. e.printStackTrace();
  20. }
  21. } else {
  22. System.out.println("Pre-flight");
  23. response.setHeader("Access-Control-Allow-Methods", "POST,GET,DELETE");
  24. response.setHeader("Access-Control-Max-Age", "3600");
  25. response.setHeader("Access-Control-Allow-Headers", "authorization, content-type," +
  26. "access-control-request-headers,access-control-request-method,accept,origin,authorization,x-requested-with");
  27. response.setStatus(HttpServletResponse.SC_OK);
  28. }
  29.  
  30. }
  31.  
  32. public void init(FilterConfig filterConfig) {}
  33.  
  34. public void destroy() {}
  35.  
  36. }
  37.  
  38. <div class="wrapper">
  39. <form class="form-signin" (ngSubmit)="onSubmit()" [hidden]="loggedIn">
  40. <h2 class="clean-font">Please login</h2>
  41.  
  42. <input type="text" class="form-control" name="username" [(ngModel)]="username" placeholder="Username" name="username" required autofocus="" />
  43. <br />
  44.  
  45. <input type="password" class="form-control" name="password" [(ngModel)]="password" placeholder="Password" required />
  46. <div class="form-group">
  47. <br/>
  48. <label >
  49. <input type="checkbox" name="remember-me" id="remember-me" />&nbsp;<span class="clean-font">Remember me</span>
  50. </label>
  51. </div>
  52. <button class="btn btn-primary btn-block" type="submit">Login</button>
  53. </form>
  54. <div [hidden]="!loggedIn">
  55. <h2>Welcome to Admin Portal!</h2>
  56. </div>
  57. </div>
  58.  
  59. import { Component, OnInit } from '@angular/core';
  60. import {Observable} from 'rxjs/Observable';
  61. import {LoginService} from '../login.service';
  62.  
  63. @Component({
  64. selector: 'app-login',
  65. templateUrl: './login.component.html',
  66. styleUrls: ['./login.component.css']
  67. })
  68. export class LoginComponent implements OnInit {
  69.  
  70. loggedIn: boolean;
  71. username: string;
  72. password: string;
  73.  
  74. constructor (private loginService: LoginService) {
  75. if(localStorage.getItem('PortalAdminHasLoggedIn') == '' || localStorage.getItem('PortalAdminHasLoggedIn') == null) {
  76. this.loggedIn = false;
  77. } else {
  78. this.loggedIn = true;
  79. }
  80. }
  81.  
  82. onSubmit() {
  83. this.loginService.sendCredential(this.username, this.password).subscribe(
  84. res => {
  85. this.loggedIn=true;
  86. localStorage.setItem('PortalAdminHasLoggedIn', 'true');
  87. location.reload();
  88. },
  89. err => console.log(err)
  90. );
  91. }
  92.  
  93. ngOnInit() {}
  94.  
  95. }
  96.  
  97. import { Injectable } from '@angular/core';
  98. import {Http, Headers} from '@angular/http';
  99. import {Observable} from 'rxjs/Observable';
  100.  
  101. @Injectable()
  102. export class LoginService {
  103.  
  104. constructor (private http: Http) {}
  105.  
  106. sendCredential(username: string, password: string) {
  107. let url = "http://localhost:8080/index";
  108. let params = 'username='+username+'&password='+password;
  109. let headers = new Headers(
  110. {
  111. 'Content-Type': 'application/x-www-form-urlencoded'
  112. // 'Access-Control-Allow-Credentials' : true
  113. });
  114. return this.http.post(url, params, {headers: headers, withCredentials : true});
  115. }
  116.  
  117. logout() {
  118. let url = "http://localhost:8080/logout";
  119. return this.http.get(url, { withCredentials: true });
  120. }
  121.  
  122. }
Add Comment
Please, Sign In to add comment