码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • thinkphp6 获取url路径中的应用名、控制器名、操作名


    判断用户的操作权限,我们可能需要获取当前url路径中的应用名、控制器名、操作名。

    如果使用了多应用模式,可以通过下面的方法来获取当前应用

    app('http')->getName();

    获取当前控制器

    Request::controller();

    获取当前操作

    Request::action();

    在中间件middleware中是无法获取控制器和操作的

    需要将middleware的引入修改为 config 目录下的 route.php 中

    1. return [
    2. 'middleware' => [
    3. // 系统日志记录
    4. // \app\run\middleware\SystemLog::class,
    5. // 检测登录状态
    6. \app\middleware\AuthMiddleware::class,
    7. ],
    8. ];

    middleware中获取应用名、控制器名、操作名

    1. namespace app\middleware;
    2. use think\facade\Request;
    3. use think\facade\Session;
    4. // 前置行为的中间件
    5. class AuthMiddleware
    6. {
    7. public function handle($request, \Closure $next)
    8. {
    9. // 添加中间件执行代码 start
    10. // 获取当前应用名
    11. $app = app('http')->getName();
    12. // 获取当前控制器名
    13. $controller = Request::controller('true');
    14. // 获取当前操作名
    15. $action = Request::action('true');
    16. // echo $app;
    17. // echo "4444
      ";
    18. // echo $controller;
    19. // echo "4444
      ";
    20. // echo $action;
    21. // echo "4444
      ";
    22. if (!$app || !$controller || !$action)
    23. {
    24. echo "未能获取到app,controller,action";
    25. exit();
    26. }
    27. // 校验权限的代码
    28. // 添加中间件执行代码 end
    29. return $next($request);
    30. }
    31. }

    请求信息 · ThinkPHP6.0完全开发手册 · 看云ThinkPHP`6.0`基于精简核心和统一用法两大原则在`5.1`的基础上对底层架构做了进一步的优化改进,并更加规范化。 icon-default.png?t=N7T8https://www.kancloud.cn/manual/thinkphp6_0/1037518

    软件工程小施同学

    20231013

  • 相关阅读:
    RocketMq2 基本理论
    第一章:最新版零基础学习 PYTHON 教程(第十节 - Python 语句中的 – Python 如果否则)
    ISIS协议的基础配置实验,原来做ISIS基础配置还可以这么有趣
    Qt入门(四)——连续播放图片(两种定时器的运用)
    [ElasticSearch]-初识Elastic Stack
    论坛介绍 | COSCon'23 开源文化(GL)
    2022-11-21 vue3有哪些新增特性?
    【C++】list的介绍及使用 | 模拟实现list(万字详解)
    SQL 杂谈 1
    shiro的会话管理器SessionManager
  • 原文地址:https://blog.csdn.net/u013288190/article/details/133817678
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号