xlabs / mmadminbundle
通过浏览器扩展实现管理功能
此软件包的官方仓库似乎已消失,因此该软件包已被冻结。
2.0.20
2023-06-12 12:17 UTC
Requires
- php: >=5.6
- alcaeus/mongo-php-adapter: ^1.1
- doctrine/mongodb-odm: ^1.3
- doctrine/mongodb-odm-bundle: ^3.6
- doctrine/orm: ^2.5
- friendsofsymfony/jsrouting-bundle: ^2.1
- symfony/assetic-bundle: ^2.8
- symfony/symfony: >=3.4
- twig/twig: ^1.0||^2.0
- dev-master / 2.8.x-dev
- 2.0.20
- 2.0.19
- 2.0.18
- 2.0.17
- 2.0.16
- 2.0.15
- 2.0.14
- 2.0.13
- 2.0.12
- 2.0.11
- 2.0.10
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 1.0.23
- 1.0.22
- 1.0.21
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
This package is auto-updated.
Last update: 2023-06-12 12:18:17 UTC
README
通过composer安装
php -d memory_limit=-1 composer.phar require xlabs/mmadminbundle
在你的AppKernel中
public function registerbundles()
{
return [
...
...
new XLabs\MMAdminBundle\XLabsMMAdminBundle(),
];
}
要求
- MongoDB -> 服务 'doctrine_mongodb.odm.default_document_manager'
- Assetic -> 如果需要,请确保包含此扩展包
# app/config.yml
assetic:
...
bundles: [ ..., 'XLabsMMAdminBundle']
...
路由
追加到主路由文件
# app/config/routing.yml
x_labs_mm_admin:
resource: "@XLabsMMAdminBundle/Resources/config/routing.yml"
prefix: /
配置示例
以下显示默认值
# app/config/config.yml
x_labs_mm_admin:
user_class: XLabs\CoreBundle\Entity\User
keyword: 'mySecretWord' # the secret word to type in the frontend
cookie_secret: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' # to build user hash
cookie_domains: ['domain1.com', 'domain2.com'] # optional; mmadmin cookies will also be created for these domains
project: 'MyProject' # used as issuer for 2FA
2FA:
- { username: 'xmateos@domain.com', secret: 'XXXXXXXXXXXXXXXX', max_attempts: false, cookie_ttl: false, roles: ['ROLE_MMADMIN_MASTER']}
- { username: 'xmateos5@domain.com', secret: 'XXXXXXXXXXXXXXXX', max_attempts: 5, retryAfterMinutes: 5, cookie_ttl: 6400}
请记住运行路由和Assetic命令
php bin/console fos:js-routing:dump && php bin/console assetic:dump && php bin/console assetic:dump --env=prod --no-debug
用法
安装并登录后,只需在前端页面上输入关键字。
您可以在自定义模板上添加自定义控件到面板
"::mm_admin_custom.html.twig"
如果您想从游览中访问面板,请确保nginx在nginx.conf中添加了正确的头信息
身份验证处理器:登录/注销
如果您设置了任何登录/注销处理器,请确保创建以下服务,并将您的当前处理器设置为它们的父服务
# YourBundle/Resources/config/services.yml
services:
...
xlabs_mmadmin_login_handler:
parent: <your_login_handler_service_id>
xlabs_mmadmin_logout_handler:
parent: <your_logout_handler_service_id>
同时确保在处理器中包含跳过验证码的方法,如果登录页面已设置
...
if($captcha_verified || $container->get('xlabs_mm_admin')->isMMAdmin() || ...)
{
...
保护路由/控制器/动作
如果您想保护控制器,请添加以下注解
# YourBundle/Controller/YourController.php
<?php
namespace YourBundle\Controller;
...
use XLabs\MMAdminBundle\Annotations as XLabsMMAdmin;
/**
* @XLabsMMAdmin\isProtected
*/
class YourController extends Controller
{
...
如果您想保护控制器动作,请添加以下注解
# YourBundle/Controller/YourController.php
<?php
namespace YourBundle\Controller;
...
use XLabs\MMAdminBundle\Annotations as XLabsMMAdmin;
class AffiliatesController extends Controller
{
/**
* @XLabsMMAdmin\isProtected
*/
public function yourControllerAction(...)
{
...
}
...
您还可以通过设置以下选项在其定义中保护路由或一组路由
# YourBundle/Resources/config/routing.yml
services:
...
your_routing_id:
...
options:
isProtected: true
此外,您可以为isProtected注解指定特定的扩展包角色(以逗号分隔的值)(仅在控制器类和动作中)
...
/**
* @XLabsMMAdmin\isProtected("ROLE_RANDOM, ROLE_WHATEVER")
*/
...
角色 'ROLE_MMADMIN_MASTER' 将始终被允许。
故障排除
如果您在GA生成的代码不起作用,可能是服务器中的时间问题。
sudo /usr/bin/rdate -s time-a.nist.gov