2016-09-12 2 views
0

Это мой контроллер Логин:как сделать страницу входа в систему angularjs и spring?

app.controller('loginCtrl', function($scope,$http,$state,$location,$q) { 

     var self = this; 
     self.user={uname:'',password:''}; 
     self.users=[]; 
    this.postForm=function(user) 
    { 
     var deferred = $q.defer(); 
      $http.post('http://localhost:8080/HB2/login/', user) 
       .then(
       function (response) { 
        deferred.resolve(response.data); 
        console.log("Success"); 
       }, 
       function(errResponse){ 
        console.error('Invalid Username/Password'); 
        deferred.reject(errResponse); 
       } 
      ); 
      return deferred.promise; 
     }; 

и это мой отдых Войти апи:

@RequestMapping(value ="/login/", method = RequestMethod.POST,produces= MediaType.APPLICATION_JSON_VALUE) 
    public ResponseEntity<Void> loginUser(@RequestBody loginModel user, UriComponentsBuilder ucBuilder) { 


     if ((user.getUname().equals("kartik"))&&(user.getPassword().equals("gogia"))) { 

      return new ResponseEntity<Void>(HttpStatus.OK); 
     } 
     else 
     return new ResponseEntity<Void>(HttpStatus.NO_CONTENT); 
    } 

Помоги мне, как сделать логин и перейти на главную страницу.

ответ

0

Вы можете попробовать ниже код

@RequestMapping(value="/login", method=RequestMethod.POST) 
    public ModelAndView loginUser(@RequestBody loginModel user, HttpServletRequest request, HttpServletResponse response){ 
     String returnView = "home";//home.html 

     try{  
      //try validating user..throw excception if user doesn't have access..      
     }catch (InvalidUserException e){ 
      returnView = "error";//error.html 
     }  
     ModelAndView mv = new ModelAndView(returnView); 
     return mv; 
    } 
1

Вы можете использовали форму входа, как Rest Url вроде как:

@Override 
    protected void configure(HttpSecurity http) throws Exception { 
     http 
      .formLogin() 
       .loginProcessingUrl("/app/authentication/oauth") 
       .usernameParameter("j_username") 
       .passwordParameter("j_password") 
       .permitAll() 
       .and() 
      .logout() 
       .logoutUrl("/app/logout") 
       .deleteCookies("JSESSIONID") 
       .permitAll() 
       .and() 
      .csrf() 
       .disable() 
      .authorizeRequests() 
       .antMatchers("/resources/**").permitAll() 
       .antMatchers("/api/**").authenticated(); 
    } 

Теперь, когда вы можете запросить от углового Js контроллера/приложения/аутентификации/oauth с j_username и j_password, то он автоматически перейдет к вам ApplicationDetailService.

Смежные вопросы