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

手机版网站如何做wordpress 3.6

手机版网站如何做,wordpress 3.6,公益网站 html 模板,wp上的wordpressJava解决垂直鉴权问题#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/14518854/

相关文章:

  • 酒泉网站建设服务dw设计网页步骤
  • 做网站代理怎么赚钱做外贸网站应该关注哪些地方
  • 郑州免费网站建设有彩虹代刷源码怎么做网站
  • 企业招聘网站哪个最好竞价推广代运营
  • 东莞做网站哪个公司最好在手机上怎么做微电影网站吗
  • 课程网站资源建设小结现在房子装修流行什么风格
  • 企业如何实现高端网站建设广州排名seo公司
  • 小白怎样建设公司网站合肥seo网站排名优化公司
  • 律师网站建设哪家专业wordpress留言模板
  • 玉溪市住房城乡建设局网站怎样做海外淘宝网站
  • 如何做购物网站的限购功能代码ppt免费制作网站
  • 模仿网站不同代码做的网站后期维护情况
  • 旅游网站建设与设计汕头潮南网站建设
  • 西宁网站建设天锐科技厦门网站建设企
  • 怎么添加网站程序网络舆情分析师证书
  • 深圳建设网站的公司哪家好网站是怎么做的
  • 龙岗网站建设排名中山网站建设方案
  • 南昌做网站哪家好东营集团网站建设
  • 医院网站建设 招标青岛模板化网站建设
  • dedecms建站教程余杭住房和城乡建设局网站
  • 淘宝便宜的团购网站建设wordpress移除子菜单
  • 专业seo网站优化推广排名教程陕西多地最新通知
  • 保定徐水网站建设杭州手机软件开发
  • 哪些网站可以做房产推广能自己在家做网站吗
  • j永久网站gta5买房子网站建设
  • 望京网站建设东营网站建设方案策划
  • wordpress建站说明解读网站建设
  • 用家里网络做网站外贸网站如何引流
  • 唐山地区网站开发公司建e网室内设计网官网vr全景
  • 网站改版建设征求意见书电脑培训网上课程