当前位置: 首页 > news >正文

wordpress导航站的源码培训课程安排

wordpress导航站的源码,培训课程安排,北京大学网站建设,自己创造网站平台前后端分离项目中#xff0c;在不使用 SpringSecurity、Shiro 安全框架的情况下#xff0c;后端是如何处理前段传递的 token 的呢#xff1f; 简单说一个场景#xff0c;在一个非常小的项目中#xff0c;由于业务逻辑比较简单#xff0c;也没有啥安全要求#xff0c;所以… 前后端分离项目中在不使用 SpringSecurity、Shiro 安全框架的情况下后端是如何处理前段传递的 token 的呢 简单说一个场景在一个非常小的项目中由于业务逻辑比较简单也没有啥安全要求所以决定不采用 SpringSecurity、Shiro 等安全框架但由于大部分方法都会用到当前的用户信息所以决定对前端传递的用户token进行一次公共处理。 解决思路采用自定义注解方式将token对应的数据自动注入到相应实体中。 最终实现效果如下带有 CurrentUser 注解的 UserModel 实体会自动注入用户信息。 RequestMapping(value  getUserInfo, method  {RequestMethod.POST})ApiOperation(value  我是某方法)public ResultUserModel getUserInfo(CurrentUser UserModel user){    return ResultUtil.success(user);} 1、自定义解析器 实现自定义解析器需要实现 HandlerMethodArgumentResolver 接口该接口包含两个方法supportsParameter resolveArgument。 简单说一下这两个方法的作用 supportsParameter用于判定参数是否需要进行分解处理说白了就是一个过滤方法如果返回true则表示需要并会去调用 resolveArgument() 方法。 resolveArgument真正处理参数分解的方法返回的Object对象为Controller中的参数类型对象本文中为 UserModel。 正式开始我们创建一个 class 取名为 CurrentUserMethodArgumentResolver实现上边提到的这两个方法 Componentpublic class CurrentUserMethodArgumentResolver implements HandlerMethodArgumentResolver {    Autowired    private UserDao userDao;    Override    public boolean supportsParameter(MethodParameter parameter) {        /**如果参数类型是User并且有CurrentUser注解则支持**/        if (parameter.getParameterType().isAssignableFrom(UserModel.class)                 parameter.hasParameterAnnotation(CurrentUser.class)) {            return true;        }        return false;    }    Override    public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {        /**取出前端Header或者是参数中携带的token如下二选一**/        String token  webRequest.getHeader(token);        String token  webRequest.getParameter(token);        if (token ! null) {            /**对token进行解析比如从redis中取出token所对应的用户标识**/            /**总之就是从token中得到用户的唯一标识然后从数据库中查询并返回**/            User user  userDao.findByUserId(用户唯一标识userId);            UserModel result  new UserModel();            BeanUtils.copyProperties(user, result);            return result;        }        return null;    }}     2、简单说一下上方方法 supportsParameter通过 UserModel 类型判断 CurrentUser 注解判断验证是否返回 true。 resolveArgument主要通过 webRequest 获取 Header 或者是 Parmeter 中的 token 参数取到参数后首先对 token 进行处理换取用户的唯一标识拿到用户唯一标识后再去数据库查询相应的用户信息然后进行一个格式转换毕竟有些数据还是不要直接返回给前台的好「用户密码等」。 至于怎么使用最开始已经贴过代码了只要在 UserModel 加入 CurrentUser 注解即可实现数据注入了当然前端势必要加入 token 参数才可以 RequestMapping(value  getUserInfo, method  {RequestMethod.POST})ApiOperation(value  我是某方法)public ResultUserModel getUserInfo(CurrentUser UserModel user){    return ResultUtil.success(user);} 最后 博客地址https://www.cgblog.com/niceyoo 如果觉得这篇文章有丶东西不放关注一下我关注是对我最大的鼓励~ 18年专科毕业后期间一度迷茫最近我创建了一个公众号用来记录自己的成长。
http://www.yutouwan.com/news/225386/

相关文章:

  • 潍坊市房屋和城乡建设局网站网站版权设置
  • 达州市建设规划网站新闻做的差的网站
  • 免费网站管理系统wordpress内涵段子
  • 嘉兴本地推广网站有哪些可以访问国外网站的dns
  • 手机网站用什么域名福田做网站优化乐云seo
  • 公司做网站需要什么条件外链查询网站
  • 网站开发的环境舟山建设工程信息网站
  • 个人艺术作品网站建设策划书在线登录qq网页版
  • 电商网站建设方案沈阳app定制
  • 电子商务网站费用好视通视频会议app下载安装
  • wordpress 修改文件名做第三方seo优化网站
  • 网站开发框架文档做网站按什么收费
  • 建网站难不难建设厅电工证查询网站官方网
  • 电子商务网站页面设计图片响应式网站的制作工具
  • 家里电脑做网站服务器做网站生意不赚钱6
  • 半成品网站百度手机版网页
  • 编写网站策划方案dy刷粉网站推广马上刷
  • 京东的网站建设介绍做58网站空调维修接单怎么样
  • 上海网站建设空间asp网站设为首页代码
  • 微网站平台微网站建设方案模板wordpress 数据字典
  • 泉州seo网站建设费用百度不收录网站怎么办
  • 青岛网站优化联系方式网页设计基础课程设计问题反馈
  • 沈阳关键词网站排名wordpress免费建站教程
  • 广西建设教育学会网站选手机网站
  • wordpress设置为繁体字网站seo诊断
  • 大连网站建设功能做网站和app
  • roseonly企业网站优化网络销售网站外包
  • 波莱网站开发网站开发相关期刊
  • 信息手机网站模板下载安装eclipse 网站开发
  • 济南外贸网站建设山西网站建设