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

做企业网站需要买什么资料网站开发与技术

做企业网站需要买什么资料,网站开发与技术,如何成立公司,如何做公司网站点击率高前言:系统有一些文件是通过nginx静态资源转发直接访问文件服务器进行访问,有信息泄露风险,因此需要增加登录验证。由于之前的文件预览都是前端通过a标签直接跳转到文件目录,逐一修改预览功能耗时较多,因此在修改nginx配…

前言:系统有一些文件是通过nginx静态资源转发直接访问文件服务器进行访问,有信息泄露风险,因此需要增加登录验证。由于之前的文件预览都是前端通过a标签直接跳转到文件目录,逐一修改预览功能耗时较多,因此在修改nginx配置文件来实现此功能。

通过浏览器直接打开此路径,可以直接打开目标图片,需要修改为只有登录过的用户才可以打开图片。

http://your_ip:8040/staticfile/userfiles/XAGJGDYSB20250407Y531/CE202504011343046138/TEMP1111111/attachment/1/1167610aa17b0813233fe82d99403e41.jpg

修改思路:1.前端在登录之后将token存储在cookies里

                   2.在后台增加一个验证登陆状态的接口,返回特定状态码

                   3.修改nginx配置文件,静态文件跳转时先调用状态验证接口

一、前端修改

在登陆成功后,往cookies里set值,注销登录,删除掉。

验证:在下图可以看到此token,说明前端工作完成了。

需要注意的是,cookies最大4K,token不能超过,不然会设置不上。

二、后端接口修改

@AnonAccess
@GetMapping("/isLogin")
public ResponseEntity<?> isLogin() {boolean isLogin = StringUtils.isNotBlank(UserUtils.getUserId());log.info("=======================isLogin:{}", isLogin);if (isLogin) {return ResponseEntity.ok().build();} else {return ResponseEntity.status(HttpStatus.UNAUTHORIZED).build();}
}

新增上述接口,isLogin是自己项目里用于判断是否登录的接口。

验证:不带token访问此接口,返回401,携带token访问此接口,返回200

三、nginx配置文件修改

代码:

location /staticfile/ {
            auth_request /auth-validate/;
            auth_request_set $auth_status $upstream_status;
            alias /mnt/hd1/isptest/software/40_apache-tomcat-8.0.44/webapps/ROOT/;
            error_page 401 = @error401;
            error_page 403 = @error403;
            add_header 'Access-Control-Allow-Origin' '*' always;
           add_header 'Access-Control-Allow-Methods' 'GET' always;
           add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With' always;
           add_header 'Access-Control-Allow-Credentials' 'true' always;
        }    
       location  /auth-validate/ {
           proxy_pass http://127.0.0.1:8020/auth/isLogin;
           proxy_set_header Cookie $http_cookie;
          # 必须传递的headers
          proxy_set_header Host $host;
          proxy_set_header X-Original-URI $request_uri;
          proxy_set_header X-Real-IP $remote_addr;
          # 清除不需要的headers
          proxy_pass_request_body off;
          proxy_set_header Content-Length "";
        
         # 从Cookie中提取JWT
         set $jwt "";
         set $auth_header ""; 
         if ($http_cookie ~* "token=([^;]+)(?:;|$)") {
               set $jwt $1;
               set $auth_header "Bearer $jwt";  # 仅在提取到 token 时设置
         }
         proxy_set_header Authorization $auth_header;
    }
    

        # 错误处理
    location @error401 {
        return 401 '{"code":401,"message":"Unauthorized"}';
    }

    location @error403 {
        return 403 '{"code":403,"message":"Forbidden"}';
    }

原来转发就是直接根据识别的路径,转发到对应的文件目录,改为先调用权限认证接口,若接口返回401,403则不能访问。

注意事项:

1.如果修改后重启nginx报错,可能是缺少http_auth_request_module模块,需要给nginx安装http_auth_request_module模块。

配置nginx,需要支持http_auth_request_module
    找到nginx初始压缩包目录 
    nginx -V 查看原有配置参数,添加--with-http_auth_request_module
    ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_auth_request_module
    make
    sudo make install
    ./nginx -V 检查有没有 with-http_auth_request_module
    重启nginx(先停后启,不要reload)

四、效果展示

1.cookies没有token,访问静态资源无法加载

2.在新的tab页登录账号,确保浏览器里有cookies,在访问此文件,则加载正常。


文章转载自:

http://cM6VbNn2.qbdqc.cn
http://s7LSBrZh.qbdqc.cn
http://7sO9PGX8.qbdqc.cn
http://sYotf9qv.qbdqc.cn
http://YHyjP8Gl.qbdqc.cn
http://BbXpSCl8.qbdqc.cn
http://zFB6Bhst.qbdqc.cn
http://6BQWJHsV.qbdqc.cn
http://Bnie7gNe.qbdqc.cn
http://RY3yyy4r.qbdqc.cn
http://QnQntq0Z.qbdqc.cn
http://IweXX7qN.qbdqc.cn
http://qW9PBDBl.qbdqc.cn
http://OMCNbkoT.qbdqc.cn
http://RyzXdLLF.qbdqc.cn
http://3OC39RWF.qbdqc.cn
http://LPvXjjaD.qbdqc.cn
http://Bk7ThZwA.qbdqc.cn
http://z1rr2ouU.qbdqc.cn
http://S96iLtbv.qbdqc.cn
http://A0t3DpaX.qbdqc.cn
http://Ztg2QYZF.qbdqc.cn
http://zEB7Fb2m.qbdqc.cn
http://jSaJFRgl.qbdqc.cn
http://NTsctNi7.qbdqc.cn
http://rghaeQGh.qbdqc.cn
http://4xU4Lv8W.qbdqc.cn
http://u6a4wOZ6.qbdqc.cn
http://rDx2g8V5.qbdqc.cn
http://d7rCUQdp.qbdqc.cn
http://www.dtcms.com/wzjs/634593.html

相关文章:

  • 韩韩良品只做性价比网站下载保定建设公司网站
  • 棋牌源码之家网站关键字优化工具
  • 上海网站建设公司网站装修公司排名
  • 哪个网站论文多wordpress v4.9.5
  • 青岛市建设监督管理局网站企业建设网站 入账
  • 兰溪做网站太原小程序制作电话
  • 网站怎么制作客户关系管理的重要性
  • 漯河专业做网站的公司长沙网站开发微联讯点官网
  • 怎么建设推广网站公司注册地址可以变更吗
  • 青岛网站优化公司哪家好网站建设环境搭建心得体会
  • 网站页面创意如何做网站的的关键词
  • 自己制作一个网站的软件协会宣传网站开发方案
  • 微信小视频网站开发WordPress文字按钮变色
  • 新西兰网站建设网站建设 福田
  • 新公司怎么做网站什么是网站挂马
  • 公司网站建设优帮云做直播导航网站
  • 成都彭州网站建设陶瓷 网站模板
  • 昌平网站开发公司太原网络推广公司哪家好
  • 网站赚钱系统人工智能设计网站
  • 合肥学习做网站wordpress documentation
  • 网站建设公司网站源码莱芜论坛话题
  • asp网站源码破解重庆快速建站
  • 给做网站建设的一些建议网站开发公司 上海
  • 南桥做网站wordpress标签插件
  • 茂民网站建设wordpress 什么是插件
  • 太仓网站制作手机如何制作一个网页链接
  • 京东的网站建设历史律师做哪个网站好
  • 公章在线制作网站做不了网站后端开发需要学什么
  • 求一个网站你知道的wordpress 维护中
  • 淘宝店铺网站策划站长之家是干什么的