范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

若依cloud前后端分离版本详解

  一、项目构建流程:
  下载对应若依代码:https://gitee.com/y_project/RuoYi-Cloud?_from=gitee_search
  下载nacos,配置nacos
  运行脚本文件
  项目里有脚本文件
  ③启动nacos
  startup.cmd -m standalone (需要配置jdk环境变量)
  http://localhost:8848/nacos  账号密码 nacos ④修改nacos配置文件
  3.下载seata
  配置seata
  启动seate
  4.启动后端各模块服务
  顺序:
  5.启动前端服务
  动态代理的网关配置
  ## 开发 ```bash # 克隆项目 git clone https://gitee.com/y_project/RuoYi-Vue # 进入项目目录 cd ruoyi-ui # 安装依赖 npm install #-- (以下备用) --# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 # 启动服务 npm run dev ``` 浏览器访问 http://localhost:80 ## 发布 ```bash # 构建测试环境 npm run build:stage # 构建生产环境 npm run build:prod ``` 二、项目解析1. 验证码
  spring函数式编程WebFlux:
  由gateway网关处理/code这个请求,将它路由到validateCodeHandler这个处理器去处理,把请求路由到对应的handler去处理。
  这个ValidateCodeHandler主要作用就是验证码的获取:
  最后调用createCaptcha这个方法生成验证码:
  setCacheObject:
  调用该方法想redis中储存值,key为前缀加生成的uuid,value是验证码的答案,并且设置超时时间2分钟。
  通过ImageIO将它转化为二进制写进流里面,最后将这个img转成Base64的编码通过Ajax返回给前端。 2. 登录
  login方法:
  通过该方法拿到用户的用户名、密码。
  通过拿到的用户名、密码,先去验证是否为空及是否在一定范围内。
  remoteUserService查询用户的信息:通过Feign调用ruoyi-system模块的getUserInfo方法。
  记录用户登录的一些操作日志和获取当前的登录用户。
  createToken方法:获取登录token
  先生成token,uuid、用户id、用户名、ip地址,赋予token一个前缀名称,随后存入redis,key为带前缀的token,value为登录用户,并设置过期时间,最后将token返回给前端。 3. 前端路由守卫
  去前端模块全局搜/getinfo:
  再搜getInfo()这个方法:
  搜GetInfo:
  router.beforEach(路由守卫):
  前端每次路由的时候都会执行,类似于拦截器,路由之前做什么,路由之后做什么。
  如果能拿到token,说明已经登录,但是你还想去/login登录页面,则将页面转到首页。
  如果不是去登录页面,则判断当前用户是否已拉取完user_info信息,根据roles权限生成可访问的路由表,动态添加可访问路由表。
  如果没有token:
  查看去往路径是否在白名单内,如果在白名单,不需要登录直接前往,否则重定向到登录页面。
  4. 认证
  前端拦截器:
  后端拦截器(AuthFilter):
  获取请求的url,对比白名单,看是否需要跳过验证。
  白名单配置:从nacos配置中心的配置文件中读取白名单列表
  如果不在白名单列表,则判断token的各种状态:是否有token,token是否过期等。
  如果token正常,则获取用户id和用户名,判断是否为空,为空返回令牌验证失败。
  最后将token存入redis,并设置过期时间。 5. 登出
  从请求中拿到token,判断token是否为空,不为空将token加上固定的前缀,根据前缀+token作为的key从redis中取出用户。如果拿到的用户不为空,删除redis用户缓存记录,记录用户退出日志。
  前端:获取到退出请求将转到首页面。
  6. 鉴权
  前端:
  后端:
  @RequiresPermissions("monitor:online:list")
  通过@RequiresPermissions注解来控制权限,如果有当前菜单的权限则展示该菜单,如果没有则不展示该菜单。
  该注解在ruoyi-common模块下的security里:
  利用aop切面技术将使用到该注解的方法进行环绕通知。
  其中就包含@RequiresPermissions
  角色权限:
  权限验证,逻辑实现类:
  校验用户是否登录,校验用户登录状态是否正常,获取当前用户的缓存信息,验证当前用户有效期。
  验证当前用户是否具备某权限:
  先获取该用户,再通过getPermiList()方法获取当前账号的权限列表:
  如果验证未通过,则抛出异常: NotPermissionException。
  该类包含鉴权方法:
  ①验证用户是否具备某权限, 如果验证未通过,则抛出异常: NotPermissionException
  ②根据注解(@RequiresPermissions)鉴权, 如果验证未通过,则抛出异常: NotPermissionException
  ③验证用户是否含有指定权限,必须全部拥有
  ④验证用户是否含有指定权限,只需包含其中一个
  ⑤判断用户是否拥有某个角色,如果验证未通过,则抛出异常: NotRoleException
  ⑥根据注解(@RequiresRoles)鉴权
  ⑦验证用户是否含有指定角色,必须全部拥有
  ⑧验证用户是否含有指定角色,只需包含其中一个
  ⑨根据注解(@RequiresLogin)鉴权
  ⑩根据注解(@RequiresPermissions)鉴权
  另外还有辅助鉴权方法:
  ①获取当前账号的角色列表方法:getRoleList()
  ②获取当前账号的权限列表方法:getPermiList()
  ③判断是否包含权限方法:hasPermi()
  ④判断是否包含角色方法:hasRole() 问题1. 新增模块报gateway找不到路径404,postman调用接口显示500
  因为新增的模块没有配置nacos里面的gateway配置文件,新增模块要新增routes路由,否则找不到。
  spring  :
  redis  :
  host  :   localhost
  port  :   6379
  password  :   123456
  cloud  :
  gateway  :
  discovery  :
  locator  :
  lowerCaseServiceId  :   true
  enabled  :   true
  routes  :
  # 认证中心
  -   id  :   uav-auth
  uri  :   lb://uav-auth
  predicates  :
  -   Path=/auth/**
  filters  :
  # 验证码处理
  -   CacheRequestFilter
  -   ValidateCodeFilter
  -   StripPrefix=1  2. 定时任务
  新增一个定时任务
  数据库该表新增一条数据
  主要注意这三个字段的配置数字

我与水运足球队我是在1960年,3岁左右时,随着父母来到沈阳市,因为父亲是在部队院校工作,部队院校的环境条件都不错,部队大院里就有3个足球场,当时我们这些子弟与学校的体育教员很熟,可以借到足球来花开中国春色怡人央视网消息(新闻联播)初春时节,万物生长,大江南北各种花卉渐次开放,到处是一派春色满园的怡人景象。春光明媚,北京月坛公园的早春蜡梅悄然绽放,给人们带来春的气息。风和日暖,山东枣庄东消息称谷歌PixelFold比GalaxyFold4更重,但电池也更大IT之家2月21日消息,经过几次迭代,谷歌似乎正在接近今年某个时候发布其首款可折叠手机。一位消息人士告诉9to5Google,PixelFold将是一个相当重的设备,但也将拥有迄今北斗再传好消息,日定位量数据实现新突破,终结GPS垄断局面根据高德地图发布的最新数据显示,中国北斗卫星导航系统的日定位量超过3000亿次。有专家说,在高频次的应用背后,意味着北斗卫星导航系统应用已进入市场化产业化和国际化的关键阶段。而伴随手机如何连接北斗卫星,发送消息,不用网也不用SIM卡,太实用了你的鸿蒙系统手机可以使用北斗卫星发消息了,你知道吗?大家好,欢迎来到科技熊,为啥给大家分享这个北斗卫星发消息呢?因为比如说我们去探险呀,或者去山上的时候没有信号,这样的话我们可以通内维尔切尔西开除一切结果是输球,曼联未来不应重蹈覆辙迈阿密国际主教练菲尔内维尔接受了TheAthletic美职联方面记者FelipeCrdenas的独家专访。在专栏的最后,他聊到了曼联。我感觉曼联在球场上正在步入正轨,(作为外部人士曼联球星大卫德赫亚的经纪人希望他自由转会回到马竞据报道,曼联门将大卫德赫亚(DavidDeGea)的经纪人已经为他夏季离开曼联后,返回他的前俱乐部马德里竞技的可能性进行了探讨。据TodoFichajes报道,大卫德赫亚的合同即将威少加盟快船天空一声巨响,航母扬帆起航阿龟正式被爵士买断,经过深思熟虑之后,决定接受泡椒和莫里斯的招募,以78万的底薪加盟快船。对于阿龟来说,一是不用再搬家了,二是可以直通季后赛,可谓一举两得。快船球迷齐声吟唱阿龟爱上机甲怪兽卑尔维斯,版本超冷门运营阵容!怪兽双子星杀翻全场Hello,大家好呀,小陈来咯今天给大家带来新版本上分答案一起来看看本期的机甲怪兽吧!(阵容一览图在末尾)阵容组成孙悟空,贾克斯,索尔,卑尔维斯瑟庄妮,瑟提,费德提克,厄加特,莫德中国小将王俊杰很高兴获得NBA无疆界训练营冠军ampampamp全明星阵容直播吧2月21日讯NBA篮球无疆界训练营在2023年NBA盐湖城全明星期间举行,王俊杰庞清方和赵维伦三名中国小将入选。训练营结束时,王俊杰入选了本次训练营的最佳12人阵容。王俊杰发从花样年华的故事发展中,浅谈花样年华的审美价值文阿瑶说编辑阿瑶说王家卫的花样年华在审美价值上与其其它经典作品相比是一个巨大的突破。花样年华的故事发展,充满了一种复古的气息,尤其是女主角身上的旗袍,给人一种令人眼花缭乱的感觉。本
欧盟决定对俄石油限价后,还想教中国做事,不许中国采购俄油在七国集团(G7)决定对俄罗斯石油进行限价后,欧盟紧随其后也有意参与其中,为了防止其他国家对俄罗斯施以援手,欧盟还想教中国做事,不许中国采购俄罗斯石油。据央视新闻报道,当地时间9月最美参花一路参情丨通化市中国人参之乡产业强势崛起通化,中国人参之乡,是我国人参文化的发源地和长白山人参核心产区的主产区。通化市主动融入吉林省人参产业发展战略,助力全省打造千亿级人参产业。2021年,通化人参产业总产值达300亿元死亡骑士任务追忆墓穴在哪里?经过漫长时间的任务摸索,我们到了向追忆墓穴的凯雷塞斯王子报道,相信还有很多玩家还不清楚。关注我魔兽不迷路任务详情我们已经开始向血色十字军的最后堡垒发动了进攻。在我们努力加固新的前线今日白露你不知道的养生秘诀蒹葭苍苍,白露为霜白露时节,农作物即将成熟秋老虎也将逝去早晚温差也会加大,温度下降迅速秋意会越来越浓小圈这就给大家介绍这个节气应该如何吃,怎么养生白露如何养生谭超湖南中医药大学第一今日黄金首饰多少钱一克?如何购买更加便宜,了解这几点就可以了黄金首饰价格对于很多人来说是一个特别难以琢磨的事情,因为款式差不多的卖的价格都可能有天差低别的差距。所以很多人对于买黄金首饰多少钱一克就弄不明白,那么在这里,小编就和大家一起来聊一今日白露你不知道的养生秘诀白露时节,农作物即将成熟秋老虎也将逝去早晚温差也会加大,温度下降迅速秋意会越来越浓小圈这就给大家介绍这个节气应该如何吃,怎么养生谭超湖南中医药大学第一附属医院内科副主任医师1hr滋白露吃三白,吃出健康来,今日白露,记得吃3白,健康过秋天导语白露吃三白,吃出健康来,今日白露,记得吃3白,健康过秋天白露到了,天气会发生一些变化,气温会下降,气候会变得更加干燥,因此白露过后,我们要懂得合理穿搭,别着凉了,还要在饮食上多今日白露,坚持2不露,3要吃,遵循老传统,安稳度过金秋相信不少细心的朋友会发现,晨起的时候室外的草叶上慢慢有或多或少的露珠,是为二十四节气中的白露。今日就是白露,因为寒气渐长很多鸟儿也开始往南方迁徙避寒。人们也不例外,需要注意在衣和食俄罗斯石油限价,今日油价跌超2,中秋后92号汽油或大跌9月6日发改委按机制上调汽柴油价格,国内汽柴油价格分别上调190元吨和185元吨,折合一升汽柴油分别上涨了0。15元和0。16元,加满50L则比调价前多话费7。5元左右的油费。油价天天养生今日白露,多食清润!3个养阴润肺汤防秋燥文羊城晚报全媒体记者林清清今日白露,如何养生?广东省中医院急诊科广东省中医院张忠德全国名中医工作室主治医师金连顺提醒,此时要注意清润养肺防秋燥。所谓白露身不露。白露时节,已至仲秋,今日白露,中医专家教你秋燥养肺三湘都市报新湖南客户端9月7日讯(全媒体记者李琪通讯员王鑫)今日是白露节气,也是秋季的第三个节气。秋季是燥邪当令的季节,风寒燥是白露时节的气候特点,容易出现感冒咳嗽口干便秘等不适。