如何为专业企业构建一个高效且用户友好的PHP网站?
摘要:专业企业网站开发公司,php学建网站,wordpress搭的,网建什么意思文章目录1. 统一用户登录权限效验1.1 最初用户登录权限效验1.2 Spring AOP 统一用户登录验证1.3 Spring 拦截器1.4 练习&
专业企业网站开发公司,php学建网站,wordpress搭的,网建什么意思文章目录1. 统一用户登录权限效验1.1 最初用户登录权限效验1.2 Spring AOP 统一用户登录验证1.3 Spring 拦截器1.4 练习#xff1a;登录拦截器1.5 拦截器实现原理1.6 统一访问前缀添加2. 统一异常处理3. 统一数据格式返回3.1 统一数据格式返回的实现3.2 ControllerAdvice 源码…
文章目录1. 统一用户登录权限效验1.1 最初用户登录权限效验1.2 Spring AOP 统一用户登录验证1.3 Spring 拦截器1.4 练习登录拦截器1.5 拦截器实现原理1.6 统一访问前缀添加2. 统一异常处理3. 统一数据格式返回3.1 统一数据格式返回的实现3.2 ControllerAdvice 源码分析本篇将要学习 Spring Boot 统一功能处理模块这也是 AOP 的实战环节统一用户登录权限的效验实现接口 HandlerInterceptor WebMvcConfigurer统一异常处理使用注解 RestControllerAdvice ExceptionHandler统一数据格式返回使用注解 ControllerAdvice 并且实现接口 ResponseBodyAdvice 1. 统一用户登录权限效验
用户登录权限的发展完善过程
最初用户登录效验在每个方法中获取 Session 和 Session 中的用户信息如果存在用户那么就认为登录成功了否则就登录失败了第二版用户登录效验提供统一的方法在每个需要验证的方法中调用统一的用户登录身份效验方法来判断第三版用户登录效验使用 Spring AOP 来统一进行用户登录效验第四版用户登录效验使用 Spring 拦截器来实现用户的统一登录验证
1.1 最初用户登录权限效验
RestController
RequestMapping(/user)
public class UserController {RequestMapping(/a1)public Boolean login (HttpServletRequest request) {// 有 Session 就获取没有就不创建HttpSession session request.getSession(false);if (session ! null session.getAttribute(userinfo) ! null) {// 说明已经登录进行业务处理return true;} else {// 未登录return false;}}RequestMapping(/a2)public Boolean login2 (HttpServletRequest request) {// 有 Session 就获取没有就不创建HttpSession session request.getSession(false);if (session ! null session.getAttribute(userinfo) ! null) {// 说明已经登录进行业务处理return true;} else {// 未登录return false;}}
}这种方式写的代码每个方法中都有相同的用户登录验证权限缺点是
每个方法中都要单独写用户登录验证的方法即使封装成公共方法也一样要传参调用和在方法中进行判断添加控制器越多调用用户登录验证的方法也越多这样就增加了后期的修改成功和维护成功这些用户登录验证的方法和现在要实现的业务几乎没有任何关联但还是要在每个方法中都要写一遍所以提供一个公共的 AOP 方法来进行统一的用户登录权限验证是非常好的解决办法。
