登陆权限--token的使用
Posted zxl971213
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了登陆权限--token的使用相关的知识,希望对你有一定的参考价值。
前文已给出token的工具类,校验类和配置相关的拦截器,可参考 https://www.cnblogs.com/bbq668/p/11972577.html
那接下来说说token怎么用:
1、由于是前后端分离的项目,那验证是否登录,在写登陆接口过程中:后端获取前端输入的用户名和密码,通过用户名+密码生成token值通过map传递给前端
//用户登录
@RequestMapping("/doLogin")
@ResponseBody
public Map<String,Object> doLogin( @RequestParam String userName, @RequestParam String password) {
Map<String,Object>map=new HashMap<String,Object>();
User user = userService.findUserByUserName(userName);
if (user == null) {
map.put("code",1);
map.put("msg","用户名或密码错误,请重新输入");
return map;
} else if (!user.getPassword().equals(password)) {
map.put("code",1);
map.put("msg","密码输入错误");
return map;
} else {
//登录成功
String token = TokenUtil.sign(userName,password);
//登录成功
map.put("code",0);
map.put("token",token);
map.put("userId",user.getUserId());
map.put("msg","登录成功");
return map;
}
}
2、前端获取通过map语句,保存token值,前后端不分离一般用session来存储,既然分离,前端则用local Storage来实现
保存: window.localStorage.setItem(‘Token‘, Token);
前端调用token则用 window.localStorage.getItem(‘Token‘);
当然后端也就能调用:String token = request.getHeader("Token");
那这里就能可以举一反三,通常页面登陆成功跳转后, 会显示用户呢称,我们也可以用这种方法在前端页面显示出来,非常实用。
总结:
后端通过获取前端传递过来的用户名和密码,然后通过工具类生成token值, 如果登陆成功就把token值传递给前端, 前端把值存储起来,在前端判断是否登陆即可。
以上是关于登陆权限--token的使用的主要内容,如果未能解决你的问题,请参考以下文章