当前位置: 首页 > 知识库问答 >
问题:

Laravel 5-具有全局访问权限的自定义帮助器类

濮阳和泰
2023-03-14

我的自定义助手类如下所示:

位于app/bootstrap/ACL. php

class ACL {

    public function __construct(){
       //Get user from session
       //Get user permission array
    }

    public function isAllowed($key){
        return 'calling from ACL class';
    }

} 

现在,我需要访问所有项目控制器中的这个ACL类。所以我在app.php文件中require_once'ACL. php';。

然后在我的控制器内,我可以执行以下操作:

class UserController extends Controller {

    public function editDetails() {

        $acl = new \ACL();
        echo $acl->isAllowed('edit-details');

        //below is the code to edit details

    }
}

这个代码工作,但我觉得应该有一个Laravel 5适当的方法来做到这一点。我想知道:

1) 这种方法行吗,还是有更好的方法来实现这一点?

2) 不执行$acl=new\acl() 在每个控制器中,我可以使用全局变量吗?或者类似这样的ACL::isAllowed('edit-details')

3) 如何运行$acl-

谢谢!


共有1个答案

周祺
2023-03-14

为什么不干脆把它添加到类映射中呢?

"autoload": {
  "classmap": [
      "app/Classes"
  ]
}

然后,您可以将您的类放入应用程序下的“/类”文件夹中,然后使用它。只管跑

composer dump-autoload

然后你可以像在laravel中的其他类一样使用它。

 类似资料:
  • 问题内容: 这个问题始于我不理解为什么不能将变量传递给symfony2全局帮助器函数(服务)的原因,但是由于比我聪明的人,我意识到我的错误是关于试图从没有使用该类的类中使用security_context。没有注射吗… 这是最终结果,该代码有效。我发现没有更好的方法可以使此方法对社区有所帮助。 这是从symfony2的全局函数或帮助函数中从security_context获取用户和其他数据的方法。

  • 我正在尝试使用,我想将添加到我的像这样: 但下面的不起作用: 我的服务器是asp。net webApi。请帮忙,我该怎么办?

  • 我试图理解Java8中引入的新日期和时间API。 我在日志文件中有一个unix时间戳,我需要对它进行处理,以确定它属于今天或昨天的哪个小时。 我遇到了一个不寻常的错误在Android Studio,想更好地理解它。

  • 我正在使用Spring Cloud oauth-2和Spring Cloud Security构建用户身份验证系统。我想有许多可以分配给用户组的权限。权限存储为枚举常量,如下所示: 我已经将身份验证服务器设置为向内存中的客户端发出JWT令牌。(我认为)一切都很好。 下面是我的用户详细信息实现 就像我说的,身份验证服务器正在颁发令牌。我面临的问题是授权。以下是我的资源服务器超文本传输协议配置: 成功

  • 当我创建自定义调用类时,我不能返回响应,因为响应类是最终的。是否有任何解决方法? 在我的单元测试类中,我想这样使用它: 我的DownloadPlace()方法如下所示: