首页 > 解决方案 > 仅在 yii2 中的 Lgin 之后包含一个注释

问题描述

所以我正在尝试将 Admin Lte 包与 Yii2 Basic 一起使用。我在网上看了一些关于如何安装它的教程。安装后它看起来很棒,但我有一个问题。我的问题是,我希望这个新视图仅在用户通过其他身份验证时才能工作,它应该遵循默认的 Yii2 应用程序。我如何在 web.php 中对此进行调节,或者是否有其他出路,我想知道。

Config/web.php 
    'view' => [
        'theme' => [
            'pathMap' => [
                '@app/views' => '@vendor/dmstr/yii2-adminlte-asset/example-views/yiisoft/yii2-app'
            ],
         ], 
    ],

标签: yii2yii2-advanced-appyii-extensionsyii2-basic-app

解决方案


作为一个想法,您可以创建 2 个入口点:

  • @app/web/index.php(我们称之为main
  • @app/web/adminlte.php(我们称之为adminlte

index.php将包含它自己的配置文件(其中没有 adminlte-implementation)。
adminlte.php将连接其配置文件(其中有 adminlte-implementation)。两个入口点都会触发Application::run()运行 Yii 应用程序。

在 Web 服务器端配置 URL 拆分。例如:

  • example.com-->index.php
  • cp.example.com-->adminlte.php

或者

  • example.com/cp/-->adminlte.php
  • example.com-->index.php 或以您喜欢的其他方式。

另外,添加从一个应用程序到另一个应用程序的重定向:如果用户打开基于 URLadminlte并且他没有被授权,则将他重定向到main. 如果用户打开基于 URLmain并且他被授权,则将他重定向到adminlte.

结果,你得到了 2 个入口点(2 个独立的 Yii 应用程序)。但同时,他们将能够使用相同的数据库和相同的代码库(模型、身份验证等)毫无问题地工作。


推荐阅读