[英]how to make angularjs and spring security login page?
这是我的登录控制器:
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;
};
这是我的其余登录api:
@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);
}
帮助我如何登录并转移到主页。
您可以将登录表单用作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();
}
现在,当您可以使用j_username和j_password从angular js控制器请求/ app / authentication / oauth时,它将自动转到您的ApplicationDetailService中。
您可以尝试以下代码
@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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.