若依(Ruoyi-Vue-Plus版)——1.登录(SaToken)

Posted 初见qwer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了若依(Ruoyi-Vue-Plus版)——1.登录(SaToken)相关的知识,希望对你有一定的参考价值。

这里学习一下若依框架的一个扩展版本:
RuoYi-Vue-Plus: 后台管理系统 重写RuoYi-Vue所有功能 集成 Sa-Token+Mybatis-Plus+Jackson+Xxl-Job+SpringDoc+Hutool+OSS 定期同步 (gitee.com)
官方文档:文档预览 - Gitee.com

项目有关SaToken登录写在最后,可跳过前面基本介绍部分。。。。
利用SaToken框架登录。只需进行信息校验然后要调用SaToken提供的api就行。非常的轻便。。。
官方例子如下。

基本介绍

整个界面和原版差不多,前端也进行了路径重写。


配置可以加个前缀,方便查看

代码生成基本与原本一样
手动生成自己的模块注意:


使用.sprngdoc和apifox的的原因

登录

我们依旧以debug模式启动代码,然后打上断点
第一部分与原版若依的登录逻辑一样,从redis当中获取验证码答案并且进行校验
第二部分跟具根据用户名查询出用户信息,然后BCrypt.checkpw(password, user.getPassword()进行密码校验

我们进入loginByDevice()方法,里面使用了 StpUtil.login()方法,完成了登录,这是SaToken框架提供的登录功能,十分轻便。详情:框架介绍 - Sa-Token

然后记录日志:这与原版若依也一样。一个记录登录日志,一个更新登录用户信息。

然后返回token。这里返回token也非常轻便,直接调用(SaToken框架)api就行。原版若依采用的时SpringSecurity+JWT实现。然后将token返回前端,我们可以在前端cookie当中找到token,与后端返回的值是一样的。




若依配置教程若依前后端分离版部署到服务器Nginx(Windows版)

搭建若依环境

要部署到服务器上,首先要在本地运行若依系统


文章目录


后端部署

1.在application.yml中修改后台端口,这里默认是8080。

2.在application-druid.yml中修改正式环境数据库。

3.后端打包部署

     打开右侧的Maven,点击:生命周期->package,然后点击运行,等待打包成功,包在如图所示的文件夹中。然后将打包好的jar包(ruoyi-admin.jar),传到服务器的一个文件夹中,记住地址,后期需要jar包运行后端



     首先启动redis,然后使用命令行,进入ruoyi-admin.jar文件所在的位置,输入命令行:java –jar ruoyi.jar。此时后端启动,出现如下图所示,若依后台运行成功:


前端部署

    打开前端项目的vue.config.js文件,检查devServer下的proxy代理部分,然后将下面这个端口修改为你要在打包后访问的端口,即使用nginx代理前的接口。这个端口默认是80端口,这里把其修改为不会冲突的70端口,不推荐使用80端口。
    因为80端口是默认端口在部署到服务器上和下面启动nginx可能存在占用等问题。
    除了这个70端口外,下面的target的url和端口要和你服务器上能访问到后台的接口一致。


    接下来将前端打包。首先打包之前确保已经安装完依赖项,即:npm install 成功且没问题。在终端中,进入到ruoyi-ui目录,输入命令行:npm run build:prod。

    等待一段时间打包成功,此时在ruoyi-ui文件夹下生成dist目录。此目录就是打包之后的前端的资源。然后将此dist目录放在服务器上的某个目录下,下面使用Nginx代理会用。

不要动dist下文件的路径


下载安装Nginx

Nginx下载地址:Nginx下载,选择相应版本的Windows版本

下载后解压压缩包到服务器的某一个目录下,

Nginx代理配置

进入到conf目录下,编辑配置文件nginx.conf

找到server节点

    首先这里的listen下的端口就是代理前的接口,要与前面前端项目的vue.config.js中的端口一致。

    然后下面的server_name是你服务器的ip,这里即使是使用的本地也建议不要用localhost,避免修改hosts文件导致的问题。下面的两个配置保持默认不要更改,配置的是防止404和入口页面。

server 
    listen       70;
    server_name  10.118.2.142;

    location / 
        root   C:\\Users\\Administrator\\Desktop\\dist;
        try_files $uri $uri/ /index.html;
        index  index.html index.htm;
    

然后再下面的location /prod-api/ 就是配置的代理后的地址。

location /prod-api/
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8080/;

这里的 /prod-api/就是跟前面前端项目设置代理的路径重写一致。
附上完整的代码:

worker_processes  1;

events 
    worker_connections  1024;


http 
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server 
        listen       70;
        server_name  10.118.2.142;
		charset utf-8;

   location / 
            root   C:\\Users\\Administrator\\Desktop\\software\\apache-tomcat-10.0.27-windows-x64\\apache-tomcat-10.0.27\\webapps\\dist;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        
		
		location /prod-api/ 
			proxy_set_header Host $http_host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header REMOTE-HOST $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_pass http://localhost:8080/;
		

        error_page   500 502 503 504  /50x.html;
        location = /50x.html 
            root   html;
        
    

启动Nginx

进入到Nginx文件夹目录下,用命令行输入:start nginx.exe,启动Nginx,窗口会一闪而过

如果对Nginx配置文件进行修改的话,需要重新加载:nginx -s reload
打开任务管理器,查看Nginx是否开启。

启动Nginx成功后打开浏览器验证,输入(服务器ip:70):例如:http://10.229.36.158:70/
启动成功!

参考博客

以上是关于若依(Ruoyi-Vue-Plus版)——1.登录(SaToken)的主要内容,如果未能解决你的问题,请参考以下文章

若依配置教程若依前后端分离版部署到服务器Nginx(Windows版)

RuoYi(若依开源框架)-前后台分离版-idea搭建运行

若依管理系统(前后端分离版)部署并实现持续发布

若依管理系统(前后端分离版)部署并实现持续发布

若依系统分离版去除redis数据库

Java——Linux使用Docker部署若依前后端分离版保姆级教程