版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38750084/article/details/88314159
@CrossOrigin
@RequestMapping(value="/login",produces={"application/json;charset=UTF-8"})
public void login(HttpServletRequest request, String code, HttpServletResponse response) {
//设置默认密码和用户名
try {
String access_token = checkUser.getAccess_token(appKey,appSecret);
String unionId = checkUser.getUserInfoBycode(code, scanAppId, scanAppSecret);
OapiUserGetUseridByUnionidResponse response_unionid = checkUser.getUserInfoByUnionid(access_token,unionId);
if(response_unionid.getErrcode() == 0) {
request.getSession().setAttribute("token", "access");
OapiUserGetResponse response_userinfo = checkUser.getUserInfoByUserId(access_token,response_unionid.getUserid());
String userName = response_userinfo.getName();
String mail = response_userinfo.getEmail();
String tel = response_userinfo.getTel();
String userId = response_userinfo.getUserid();
String ip = request.getRemoteAddr();//返回发出请求的IP地址
LoginEntity le = new LoginEntity();
le.setUserName(userName);
le.setMail(mail);
le.setTel(tel);
le.setUserId(userId);
le.setCreateTime(new Date());
le.setRemoteIp(ip);
le.setOperateType(EnumLoginOperateType.login.getStatus());
iLoginService.loginRecord(le);
String avatar = response_userinfo.getAvatar();
request.getSession().setAttribute("userName", userName);
request.getSession().setAttribute("avatar", avatar);
request.getSession().setMaxInactiveInterval(120*60);//以秒为单位,即在没有活动120分钟后,session将失效
response.sendRedirect("/index.html");
}else {
response.sendRedirect("/login.html#fail");
}
} catch (Exception e) {
e.printStackTrace();
}
}