spring security实战项目笔记-登录与退出,显示头像,用户菜单显示
Posted 健康平安的活着
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring security实战项目笔记-登录与退出,显示头像,用户菜单显示相关的知识,希望对你有一定的参考价值。
一 登录
1.1 登录页面
1.登录页面
2.在security进行配置认证和授权
3.认证通过与否返回给前端json串,进而进行判断
这里认证成功进行了自定义json处理:
登录失败也进行了处理
5.登录返回给前端的json串
成功的话,重定向到:/index接口的访问
失败的话,进行页面的提示显示。
可以看到controller层,index的访问接口,成功跳转到:views/index这个页面。
二 退出
在配置类中添加注销功能
页面触发事件:
三 显示头像
1.页面
2.数据库存的头像名称
需要在后台的时候,提供获取图片的方法。
${#authentication.principal.loginUser.headImg} 这个代码是直接获取登录认证用户的头像
3.配置上传路径
mz.upload.path=D:\\\\workspace\\\\mz_auth\\\\src\\\\main\\\\resources\\\\static\\\\upload
4.java代码:mz.upload.path+头像名称,才是完整路径
@Controller
public class FileUpload {
@Autowired
private IUserService userService;
@Value("${mz.upload.path}")
private String uploadPath;
@RequestMapping(value = "/showimage/{image_name}")
public String showphoto(@PathVariable("image_name") String image_name,HttpServletRequest request, HttpServletResponse response)
throws Exception {
response.setDateHeader("Expires", 0);
response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
response.addHeader("Cache-Control", "post-check=0, pre-check=0");
response.setHeader("Pragma", "no-cache");
response.setContentType("image/jpeg");
// 获得的系统的根目录
File fileParent = new File(File.separator);
// 获得/usr/CBeann目录
System.out.println("读取头像:"+image_name);
File file = null ;
String os = System.getProperty("os.name");
ServletOutputStream out = response.getOutputStream();
try {
if (os.toLowerCase().startsWith("win")) { //如果是Windows系统
file = new File(uploadPath +"\\\\"+ image_name);
} else { //linux 和mac
file = new File(fileParent, uploadPath.substring(1) +"/"+ image_name);
}
IOUtils.copy(new FileInputStream(file),out);
out.flush();
} finally {
out.close();
}
return null;
}
}
四 加载用户菜单信息
1.通过用户id,查询出用户所属的菜单信息:这个sql语句实现将父级菜单和子级菜单进行绑定,在配置文件中<resultMap>里面的<collection>标签,进行了同一父级下子菜单进行了汇总。
2. 在controller里进行登录的判断,成功后才可以进行查询菜单信息
3.页面的遍历渲染:
一级父菜单遍历完后,子菜单进行遍历。
以上是关于spring security实战项目笔记-登录与退出,显示头像,用户菜单显示的主要内容,如果未能解决你的问题,请参考以下文章