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

厦门网站建设培训网站建设规范

厦门网站建设培训,网站建设规范,wordpress选不了中文,无锡百度竞价环境:SpringBoot3、jdk17 Sa-TokenSa-Token是一个java权限认证框架,功能全面,上手简单,登录认证、权限认证、Session会话、踢人下线、账号封禁、集成Redis、前后端分离、分布式会话、微服务网关鉴权、单点登录、OAuth2.0、临时To…

环境:SpringBoot3、jdk17

Sa-TokenSa-Token是一个java权限认证框架,功能全面,上手简单,登录认证、权限认证、Session会话、踢人下线、账号封禁、集成Redis、前后端分离、分布式会话、微服务网关鉴权、单点登录、OAuth2.0、临时Token验证、记住我模式、模拟他人账号、临时身份切换、多账号体系、注解式鉴权、路由拦截式鉴权、花式token、自动续签、同端互斥登录、会话治理、密码加密、jwt集成、Spring集成、WebFlux集成...,有了sa-token,你所有的权限认证问题,都不再是问题https://sa-token.cc/index.html        Sa-Token 是一个轻量级、无侵入、功能强大的 Java 权限认证框架。轻量级:核心依赖少,性能强大,能够快速上手;无侵入:通过注解和拦截器实现权限控制;

1.导入依赖

<dependency>
    <groupId>cn.dev33</groupId>
    <artifactId>sa-token-spring-boot3-starter</artifactId>

    <version>1.38.0</version>
</dependency>

<dependency>
    <groupId>cn.dev33</groupId>
    <artifactId>sa-token-redis-jackson</artifactId>

    <version>1.38.0</version>
</dependency>

2.添加配置

############## Sa-Token 配置 (文档: https://sa-token.cc) ##############
sa-token: # token 名称(同时也是 cookie 名称)token-name: satoken# token 有效期(单位:秒) 默认30天,-1 代表永久有效timeout: 2592000# token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结active-timeout: -1# 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录)is-concurrent: true# 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token)is-share: false# token 风格(默认可取值:uuid、simple-uuid、random-32、random-64、random-128、tik)token-style: uuid# 是否输出操作日志 is-log: true

3.登录认证

        服务器校验账号密码,为用户颁发 Token 会话凭证;

3.1 登录接口

    /*** 登录* @param loginVo* @return*/@PostMapping("/login")public Result login(@RequestBody LoginData loginData) {//Sa-token认证登录StpUtil.login(user.getId());//返回结果初始化JSONObject result = new JSONObject();//保存登录信息: 令牌 + 刷新令牌(用于令牌过期或快过期申请新令牌使用)result.putOpt("token", StpUtil.getTokenValue());return Result.ok(result);}
  • StpUtil.login(id) 方法利用了 Cookie 自动注入的特性,甚至你都不需要主动向前端返回 token 信息;
  • 其他还有 StpUtil.logout() 注销、StpUtil.isLogin() 是否登录等提供的方法;

3.2 配置拦截器

@Component
public class SaTokenInterceptor implements WebMvcConfigurer {/*** 新增拦截器* @param registry*/@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new SaInterceptor(handle-> {//Sa-token框架校验StpUtil.checkLogin();})).addPathPatterns("/**") //拦截范围.excludePathPatterns("/auth/login",//放行登录接口"/auth/validateCode",//放行验证码接口"/doc.html", "/v3/api-docs/**", "/webjars/**","/favicon.ico");//放行swagger相关接口}
}

4.权限认证

        框架校验账户拥有的权限码集合中是否包含指定的权限码;

4.1 获取当前账号权限码集合

/**** 自定义权限加载接口实现类*/
@Component
public class StpInterfaceImpl implements StpInterface {@Autowiredprivate SysMenuMapper sysMenuMapper;/*** 返回一个账号所拥有的权限码集合 * @param loginId* @param loginType* @return*/@Overridepublic List<String> getPermissionList(Object loginId, String loginType) {//查询用户的功能权限return sysMenuMapper.selectUserPermsByUserId(Long.parseLong(loginId.toString()));}@Autowiredprivate SysUserRoleMapper sysUserRoleMapper;/*** 返回一个账号所拥有的角色标识集合* @param loginId* @param loginType* @return*/@Overridepublic List<String> getRoleList(Object loginId, String loginType) {return sysUserRoleMapper.selectRoleCodesByUserId(Long.parseLong(loginId.toString()));}
}

4.2 注解鉴权

  • @SaCheckLogin:登录校验 —— 只有登录之后才能进入该方法。
  • @SaCheckRole("admin"):角色校验 —— 必须具有指定角色标识才能进入该方法。
  • @SaCheckPermission("user:add"):权限校验 —— 必须具有指定权限才能进入该方法。
  • @SaCheckSafe:二级认证校验 —— 必须二级认证之后才能进入该方法。
  • @SaCheckHttpBasic:HttpBasic校验 —— 只有通过 HttpBasic 认证后才能进入该方法。
  • @SaCheckHttpDigest:HttpDigest校验 —— 只有通过 HttpDigest 认证后才能进入该方法。
  • @SaCheckDisable("comment"):账号服务封禁校验 —— 校验当前账号指定服务是否被封禁。
  • @SaCheckSign:API 签名校验 —— 用于跨系统的 API 签名参数校验。
  • @SaIgnore:忽略校验 —— 表示被修饰的方法或类无需进行注解鉴权和路由拦截器鉴权。
    @SaCheckPermission("list")@SaCheckRole("6")@GetMapping(value = "/list")public Result list(){return Result.ok(service.list();}
http://www.dtcms.com/a/429629.html

相关文章:

  • python+网站开发实例教程中建名城建设有限公司 网站
  • 安徽省两学一做网站wordpress 图片 筛选 插件
  • 秦皇岛建设网站北京微网站设计开发服务
  • 外贸公司网站制作公司通州网站网站建设
  • 动态ip怎么做网站马鞍山网站建设咨询电
  • 北京网站建设外包公司百度手机seo
  • 百度权重排名高的网站陕西省建设工程质量安全监督总站网站
  • 网站霸词怎么做榆林市城乡建设规划局网站
  • 免费网站模块好看的企业网站首页
  • 企业网站产品优化怎么做淘宝电脑版登录入口
  • 网站开发就业薪酬近期新闻热点事件及评论
  • 山西网站建设开发团队最新企业名录搜索软件
  • 筹备网站建设定制旅游网站建设方案
  • 提供手机网站制作哪家好网站建设龙岗
  • 青岛做网站哪里好沈阳做网站公司
  • 危险网站怎么解除wordpress显示选项
  • 新手建立企业网站流程wordpress富文本
  • 网站建设微站建立网站的主要流程有哪些步骤
  • 地方门户网站盈利医院网站必须建设吗
  • 建设德国网站163企业邮箱登录注册入口
  • 中国房地产信息网官网怀化网站优化推荐
  • 云主机上传网站wordpress用ip访问不了
  • 电子商务网站建设与管理期末试卷专业购物网站
  • 中文无版权图片网站网站建设微信文章
  • 装修网站建设服务商网页制作平台有什么
  • 制作网站要多久wordpress提问模块
  • 中国新闻社官方网站北京口碑好的十大装修公司
  • 做公司网站的流程公司网站注册要多少钱
  • 信用门户网站建设专家评价wordpress 模板挂马
  • 企业手机网站设计案例安装字体怎么在wordpress