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

免费建立微网站推广软文范例100字

免费建立微网站,推广软文范例100字,网上做期末试卷的网站,网站定位代码SpringSecurity鉴权 启用方法级安全控制​权限上下文传递工具​自定义权限服务 ss 启用方法级安全控制​ package com.chinabuilder.framework.config;/*** spring security配置*EnableMethodSecurity 用于启用基于方法的权限控制。它的作用是通过 AOP(面向切面编程…

SpringSecurity鉴权

  • 启用方法级安全控制​
  • 权限上下文传递工具​
  • 自定义权限服务 ss

启用方法级安全控制​

package com.chinabuilder.framework.config;/*** spring security配置*@EnableMethodSecurity 用于启用基于方法的权限控制。它的作用是通过 AOP(面向切面编程)在方法调用前后进行安全拦截。**/
@EnableMethodSecurity(prePostEnabled = true, securedEnabled = true)
@Configuration
public class SecurityConfig {
}

权限上下文传递工具​

// 在同一请求链路中 跨层级传递权限标识(如 "system:user:add")。
// 技术原理:
//        基于 RequestContextHolder + ThreadLocal 实现线程隔离的临时存储。
//        数据生命周期与 HTTP 请求绑定(SCOPE_REQUEST)。
//        典型场景:
//        拦截器中解析权限 → 存入上下文 → 业务层/日志中获取。
package com.chinabuilder.framework.security.context;public class PermissionContextHolder
{private static final String PERMISSION_CONTEXT_ATTRIBUTES = "PERMISSION_CONTEXT";public static void setContext(String permission){RequestContextHolder.currentRequestAttributes().setAttribute(PERMISSION_CONTEXT_ATTRIBUTES, permission,RequestAttributes.SCOPE_REQUEST);}public static String getContext(){return Convert.toStr(RequestContextHolder.currentRequestAttributes().getAttribute(PERMISSION_CONTEXT_ATTRIBUTES,RequestAttributes.SCOPE_REQUEST));}
}

自定义权限服务 ss

package com.chinabuilder.framework.web.service;@Service("ss")
public class PermissionService
{/*** 验证用户是否具备某权限** @param permission 权限字符串* @return 用户是否具备某权限*/public boolean hasPermi(String permission){if (StringUtils.isEmpty(permission)){return false;}LoginUser loginUser = SecurityUtils.getLoginUser();if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getPermissions())){return false;}PermissionContextHolder.setContext(permission);return hasPermissions(loginUser.getPermissions(), permission);}/*** 验证用户是否不具备某权限,与 hasPermi逻辑相反** @param permission 权限字符串* @return 用户是否不具备某权限*/public boolean lacksPermi(String permission){return hasPermi(permission) != true;}/*** 验证用户是否具有以下任意一个权限** @param permissions 以 PERMISSION_DELIMETER 为分隔符的权限列表* @return 用户是否具有以下任意一个权限*/public boolean hasAnyPermi(String permissions){if (StringUtils.isEmpty(permissions)){return false;}LoginUser loginUser = SecurityUtils.getLoginUser();if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getPermissions())){return false;}PermissionContextHolder.setContext(permissions);Set<String> authorities = loginUser.getPermissions();for (String permission : permissions.split(Constants.PERMISSION_DELIMETER)){if (permission != null && hasPermissions(authorities, permission)){return true;}}return false;}/*** 判断用户是否拥有某个角色** @param role 角色字符串* @return 用户是否具备某角色*/public boolean hasRole(String role){if (StringUtils.isEmpty(role)){return false;}LoginUser loginUser = SecurityUtils.getLoginUser();if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getUser().getRoles())){return false;}for (SysRole sysRole : loginUser.getUser().getRoles()){String roleKey = sysRole.getRoleKey();if (Constants.SUPER_ADMIN.equals(roleKey) || roleKey.equals(StringUtils.trim(role))){return true;}}return false;}/*** 验证用户是否不具备某角色,与 isRole逻辑相反。** @param role 角色名称* @return 用户是否不具备某角色*/public boolean lacksRole(String role){return hasRole(role) != true;}/*** 验证用户是否具有以下任意一个角色** @param roles 以 ROLE_NAMES_DELIMETER 为分隔符的角色列表* @return 用户是否具有以下任意一个角色*/public boolean hasAnyRoles(String roles){if (StringUtils.isEmpty(roles)){return false;}LoginUser loginUser = SecurityUtils.getLoginUser();if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getUser().getRoles())){return false;}for (String role : roles.split(Constants.ROLE_DELIMETER)){if (hasRole(role)){return true;}}return false;}/*** 判断是否包含权限** @param permissions 权限列表* @param permission 权限字符串* @return 用户是否具备某权限*/private boolean hasPermissions(Set<String> permissions, String permission){return permissions.contains(Constants.ALL_PERMISSION) || permissions.contains(StringUtils.trim(permission));}
}
http://www.dtcms.com/wzjs/267962.html

相关文章:

  • 用网站做数据库吗google优化推广
  • 做国外零售的话是在什么网站开店武汉seo霸屏
  • 企业网站备案策划大庆建站公司
  • 请简述网站开发的流程枫林seo工具
  • 网站地图 cssqq刷赞网站推广全网
  • 免费地方域名注册宁波seo外包推广公司
  • 深圳租赁住房和建设局网站学电脑培训班
  • 东营做营销型网站武汉搜索推广
  • 网站icp备案信息是什么百度可以发布广告吗
  • 全网营销型推广网站建设微营销官网
  • 江苏 网站 备案百度知道入口
  • 能在家做的兼职的网站广州seo公司哪个比较好
  • 网页升级访问新区域宁波seo关键词排名
  • 建设公司网站模版嘉兴优化公司
  • 企业网站内容seo咨询
  • 怒江企业网站建设中国国际新闻
  • 如何看出网站是用wordpress搭建天津放心站内优化seo
  • 做针对国外的网站湖南seo优化按天付费
  • 做外贸零售和批发批发网站代做关键词收录排名
  • 网页广告过滤商丘seo教程
  • 先进网站建设有哪些网络营销推广软件
  • mugeda做网站广州seo推荐
  • 企业宣传视频网络优化是做啥的
  • 网站认证源码cba最新消息
  • 渝北集团网站建设微信营销成功案例8个
  • 门户网站那个程序比较成人速成班有哪些专业
  • 婚礼摄影作品网站软件推广怎么赚钱
  • 开发网站 数据库window优化大师
  • 先做网站后付款龙岗seo优化
  • 用插件做网站网络舆情管控