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

wordpress的文章插件百度seo 站长工具

wordpress的文章插件,百度seo 站长工具,智汇团建网站登录平台,国际品牌的广州网站建设1、注册 Sa-Token 拦截器 Sa-Token 使用全局拦截器完成注解鉴权功؜能。为了不为项目带来不必要的性能负​担,拦截器默认处于关闭状态。因此。为了‌使用注解鉴权,必须手动将 Sa-Tok‏en 的全局拦截器注册到项目中。 注册拦截器👇 Configu…

1、注册 Sa-Token 拦截器

Sa-Token 使用全局拦截器完成注解鉴权功؜能。为了不为项目带来不必要的性能负​担,拦截器默认处于关闭状态。因此。为了‌使用注解鉴权,必须手动将 Sa-Tok‏en 的全局拦截器注册到项目中。

注册拦截器👇

@Configuration
public class SaTokenConfigure implements WebMvcConfigurer {// 注册 Sa-Token 拦截器,打开注解式鉴权功能 @Overridepublic void addInterceptors(InterceptorRegistry registry) {// 注册 Sa-Token 拦截器,打开注解式鉴权功能 registry.addInterceptor(new SaInterceptor()).addPathPatterns("/**");    }
}

2、定义权限与角色获取逻辑

通过实现 StpInterface 接口。该接口提供了获取当前登录用户的权限和角色的方法,在每次调用鉴权代码时,都会执行接口中的方法。

@Component // 保证此类被 SpringBoot 扫描,完成 Sa-Token 的自定义权限验证扩展 
public class StpInterfaceImpl implements StpInterface {/*** 返回一个账号所拥有的权限码集合 (目前没用)*/@Overridepublic List<String> getPermissionList(Object loginId, String s) {return new ArrayList<>();}/*** 返回一个账号所拥有的角色标识集合 (权限与角色可分开校验)*/@Overridepublic List<String> getRoleList(Object loginId, String s) {// 从当前登录用户信息中获取角色User user = (User) StpUtil.getSessionByLoginId(loginId).get(USER_LOGIN_STATE);return Collections.singletonList(user.getUserRole());}
}

3、新建设备信息获取工具类

从客户端发送的请求头中获取用户使用的设备信息

/*** 设备工具类*/
public class DeviceUtils {/*** 根据请求获取设备信息**/public static String getRequestDevice(HttpServletRequest request) {String userAgentStr = request.getHeader(Header.USER_AGENT.toString());// 使用 Hutool 解析 UserAgentUserAgent userAgent = UserAgentUtil.parse(userAgentStr);ThrowUtils.throwIf(userAgent == null, ErrorCode.OPERATION_ERROR, "非法请求");// 默认值是 PCString device = "pc";// 是否为小程序if (isMiniProgram(userAgentStr)) {device = "miniProgram";} else if (isPad(userAgentStr)) {// 是否为 Paddevice = "pad";} else if (userAgent.isMobile()) {// 是否为手机device = "mobile";}return device;}/*** 判断是否是小程序* 一般通过 User-Agent 字符串中的 "MicroMessenger" 来判断是否是微信小程序**/private static boolean isMiniProgram(String userAgentStr) {// 判断 User-Agent 是否包含 "MicroMessenger" 表示是微信环境return StrUtil.containsIgnoreCase(userAgentStr, "MicroMessenger")&& StrUtil.containsIgnoreCase(userAgentStr, "MiniProgram");}/*** 判断是否为平板设备* 支持 iOS(如 iPad)和 Android 平板的检测**/private static boolean isPad(String userAgentStr) {// 检查 iPad 的 User-Agent 标志boolean isIpad = StrUtil.containsIgnoreCase(userAgentStr, "iPad");// 检查 Android 平板(包含 "Android" 且不包含 "Mobile")boolean isAndroidTablet = StrUtil.containsIgnoreCase(userAgentStr, "Android")&& !StrUtil.containsIgnoreCase(userAgentStr, "Mobile");// 如果是 iPad 或 Android 平板,则返回 truereturn isIpad || isAndroidTablet;}
}

4、改造登录接口

原先保存用户登录状态的代码

// 3. 记录用户的登录态
request.getSession().setAttribute(USER_LOGIN_STATE, user);

使用Sa-Token后

// Sa-Token 登录,并指定设备,同端登录互斥
StpUtil.login(user.getId(), DeviceUtils.getRequestDevice(request));
StpUtil.getSession().set(USER_LOGIN_STATE, user);

5、改造获取当前用户信؜息

不再从 request.getSession() 中获取登录用户的 id,改为从 Sa-Token 中获取。

@Overridepublic User getLoginUser(HttpServletRequest request) {//先判断是否已登录Object loginUserId = StpUtil.getLoginIdDefaultNull();if (loginUserId == null) {throw new BusinessException(ErrorCode.NOT_LOGIN_ERROR);}User currentUser = this.getById((String) loginUserId);if (currentUser == null) {throw new BusinessException(ErrorCode.NOT_LOGIN_ERROR);}return currentUser;}

提问

User user = (User) StpUtil.getSessionByLoginId(loginId).get(USER_LOGIN_STATE); 这段代码背后的运行原理是什么?

http://www.dtcms.com/wzjs/266470.html

相关文章:

  • 在百度上做网站多少钱如何找推广平台
  • 北京市住房和城乡建设委网站软文写作营销
  • 网站怎样做多语言切换个人网站模板建站
  • 贵阳白云区疫情最新消息今天南京seo网络优化公司
  • 国际设计师网站百度账号24小时人工电话
  • 潍坊中小型网站建设公司搜索引擎的网站
  • 沈阳工伤保险做实网站网站建设报价
  • 芜湖做网站的邓健照片免费刷推广链接的软件
  • 免费发布出租房信息网站seo信息网
  • 诸城网站制作网络推广运营公司
  • 建设银行网站用户名是什么建网站免费
  • 一个电商网站开发要多久写一篇软文1000字
  • 张家港建设局门户网站今天的新闻 最新消息
  • 建设政府网站的费用中国宣布疫情结束日期
  • 别人用我公司权限做网站seo排名优化联系13火星软件
  • 上海哪个网站能应聘做家教的优化营商环境存在问题及整改措施
  • 宁波做网站的企业陕西疫情最新消息
  • 基于多站点的网站内容管理平台的管理与应用宁波正规站内优化seo
  • 中国建设手机银行网站优化二十条
  • 东营网站客户服务中心seo公司系统
  • 毕设源码网站今日全国疫情最新消息
  • wordpress系统邮件设置方法seo推广培训课程
  • 做电子商务网站多少钱miy188coo免费入口
  • 学做网站开发营销推广手段有什么
  • 自己电脑做网站服务器系统北京、广州最新发布
  • 做网站 郑州公司哪家好seo点击软件手机
  • 番禺做网站的seo排名优化培训价格
  • 微网站建设价格对比磁力搜索器在线
  • 哪里有做网站系统的今天今日头条新闻
  • 盘锦市网站建设google中文搜索引擎入口