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

手机版网站如何做百度网站建设推广

手机版网站如何做,百度网站建设推广,小程序是什么时候开始的,湖南3合1网站建设价格Java解决垂直鉴权问题#xff08;对垂直权限进行校验#xff09; 文章目录 Java解决垂直鉴权问题#xff08;对垂直权限进行校验#xff09;前言一、垂直鉴权是什么#xff1f;二、实现过程1.新建接口权限菜单映射表2.项目初始化时加载接口菜单映射关系3.自定义过滤器拦截…Java解决垂直鉴权问题对垂直权限进行校验 文章目录 Java解决垂直鉴权问题对垂直权限进行校验前言一、垂直鉴权是什么二、实现过程1.新建接口权限菜单映射表2.项目初始化时加载接口菜单映射关系3.自定义过滤器拦截器 前言 避免垂直鉴权实现原理每次用户访问时都要判定该用户是否有访问此 URL 的权限。 一、垂直鉴权是什么 垂直权限漏洞是指Web应用没有做权限控制或仅仅在菜单上做了权限控制导致恶意用户只要猜到了其他页面的URL就可以访问或控制其他角色拥有的数据或页面达到权限提升的目的。 垂直权限的漏洞举例Web应用程序在服务端没有做权限控制只是在前端菜单显示上将部分页面隐藏了。此时恶意用户可以猜测其他管理页面的 URL就可以访问或控制其他角色拥有的数据或页面达到越权操作的目的可能会使得普通用户拥有了管理员的权限。 二、实现过程 1.新建接口权限菜单映射表 /*** p* 接口权限映射表* /p*/ Getter Setter Accessors(chain true) TableName(ed_interface_mapping) public class InterfaceMapping implements Serializable {private static final long serialVersionUID 1L;/*** 主键id*/TableId(value id, type IdType.AUTO)private Integer id;/*** 接口路径*/TableField(interface_path)private String interfacePath;/*** 对应权限菜单*/TableField(permission)private String permission; }2.项目初始化时加载接口菜单映射关系 Slf4j Component RequiredArgsConstructor public class VerticalPermissionHandle {//应用上下文Web应用程序的基本URL路径Value(${server.servlet.context-path})private String contextPath;private final InterfaceMappingService interfaceMappingService;private MapString, ListString map;/*** 项目初始化时加载接口菜单映射关系*/PostConstructpublic void init() {log.info(加载权限开始);//查询出所有的接口菜单映射关系ListInterfaceMapping interfaceMappings interfaceMappingService.list();if (ObjectUtil.isEmpty(interfaceMappings)) {throw new BizException(ResultEnum.ERROR.getCode(), 启动失败,未加载垂直权限关系);}this.map new HashMap();/*** key为接口url* value为菜单防止出现相同的接口url在多个权限菜单中出现这种情况可能性很小这里使用list存储菜单*/interfaceMappings.stream().forEach(data - {String key contextPath data.getInterfacePath();ListString value;if (map.containsKey(key)) {value map.get(key);} else {value new ArrayList();}value.add(data.getPermission());map.put(key, value);});log.info(加载权限结束);}public ListString verticalPermission(String path) {ListString result map.get(path);if (ObjectUtil.isEmpty(result)) {return new ArrayList();}return result;} } 3.自定义过滤器拦截器 /*** 自定义单点登录过滤器* 注CheckFilter类为自己写的过滤器与此业务无关* doCheck也是自定义的过滤器方法可忽略* 具体业务逻辑如下已实现*/ Slf4j public class SsoFilter extends CheckFilter {Overrideprotected boolean doCheck(HttpServletRequest request, HttpServletResponse response) throws IOException {String uri request.getRequestURI();String token request.getHeader(token);if (!verticalPermissionCheck(uri, token)) {log.info( [当前访问接口uri] : {} , uri);//用来接口返回提示前端可加可不加response.setHeader(Access-Control-Allow-Origin, *);response.setHeader(Access-Control-Allow-Headers, token, Accept, Origin, X-Requested-With, Content-Type, Last-Modified);response.setContentType(application/json;charsetutf-8);ObjectMapper objectMapper new ObjectMapper();ServletOutputStream writer response.getOutputStream();writer.write(objectMapper.writeValueAsBytes(当前用户暂无该权限));writer.flush();writer.close();return false;}else {return true;}}/*** 判断url所对应的菜单是否存在于登录用户的权限菜单中* 存在则为true不存在则为false* param uri 用户访问的uri* param token 登录的token* return*/private boolean verticalPermissionCheck(String uri, String token) {ListString permissions verticalPermissionHandle.verticalPermission(uri);if (ObjectUtil.isEmpty(permissions)){return true;}/*** 在redis中获取用户信息* 其中用户信息包含这个角色所对应的permission菜单* 遍历根据url这个key获取的value菜单如果存在这个角色所对应的菜单中则放行*/User userByToken UserUtils.getUserByToken(token);for (String permission : permissions) {if (userByToken.getAllPermissionString().contains(permission)) {return true;}}return false;}
http://www.hkea.cn/news/14548168/

相关文章:

  • 建站哪家好联系兴田德润wordpress怎么生成目录
  • 淮安网站制作设计专业团队张伟图片
  • 资源优化网站排名后缀为net的网站有哪些
  • 微网站建设的第一步是什么公司注册地址与办公地址不一致
  • 网站源码是啥n多国外免费空间
  • 成品网站w灬源码1688手机网站设计咨询
  • 厦门网站的制作品牌咨询
  • 计算机类哪个专业最吃香西安网站优化体验
  • 广州小型企业网站建设46设计网
  • 做视频上传可以赚钱的网站做响应式网站兼容哪几个尺寸
  • 上海网站快速优化排名网站建设小结报告
  • 麦田 网站建设全屋定制设计流程
  • 重庆建设部网站wordpress购物主题
  • 中集建设集团有限公司网站人工智能培训心得
  • 做权重网站网站建设的er图怎么画
  • 兰州营销型网站毕业设计做网站怎样做特别一点
  • 汕头市研发网站建设织梦可以做视频网站么
  • 陕西营销型手机网站建设站长工具ip地址
  • 网站如何做自适应jsp做网站怎么打开
  • 营销网站有四大要素构成公司邮箱密码忘记了怎么办
  • 北京工程造价信息网seo指的是
  • 东莞网上商城网站建设网站建设公司怎么发展新客户
  • 网站建站平台源码没有网怎么安装wordpress
  • 学校网站建设及管理制度百度app浏览器下载
  • 成都优化网站推广网站未备案wordpress链接
  • 电子商务搭建网站网站建设商务合同范本
  • 17网站一起做网店杭州昆山做网站的个人
  • 查公司法人天眼查怎么把做的网站优化到百度
  • 修改 网站 数据库宁波外贸公司为什么这么多
  • zencart 网站入侵网站建设费做什么