管理员admin账号管理工具¶

admin 命令程序用于创建和管理系统超级管理员的账号。

namespace asbamboo\frameworkStandard\command;

use asbamboo\console\ProcessorInterface;

use asbamboo\console\command\CommandAbstract;

use asbamboo\di\ContainerAwareTrait;

use asbamboo\framework\Constant;

use asbamboo\database\Factory;

use asbamboo\frameworkStandard\model\user\UserEntity;

use asbamboo\frameworkStandard\model\user\Constant AS UserConstant;

use asbamboo\database\FactoryInterface;

use asbamboo\database\ManagerInterface;

class AdminCommand extends CommandAbstract

{

use ContainerAwareTrait;

/**

*

* @var ManagerInterface

*/

private $DbManager;

/**

*

* @param FactoryInterface $Db

*/

public function __construct(FactoryInterface $Db)

{

parent::__construct();

$this->DbManager = $Db->getManager();

$this->AddOption('list', null, '列出所有管理员账号', 'l');

$this->AddOption('insert', null, '添加新的管理员账号', 'i');

}

/**

* 列出所有管理员账号

*

* @param ProcessorInterface $Processor

*/

private function lists(ProcessorInterface $Processor) : void

{

/**

*

* @var Factory $Db

*/

$UserEntitys = $this->DbManager->getRepository(UserEntity::class)->findBy(['user_type' => UserConstant::TYPE_ADMIN]);

foreach($UserEntitys AS $UserEntity){

$Processor->output()->print($UserEntity->getUserId(), "\t");

}

}

/**

* 创建新的管理员账号

*

* @param ProcessorInterface $Processor

*/

private function insert(ProcessorInterface $Processor) : void

{

/**

* 用户输入参数

*/

$user_id = $Processor->input()->prompt('请输入管理员账号:');

$user_password = $Processor->input()->prompt('请输入管理员密码:');

$confirm_password = $Processor->input()->prompt('请确认管理员密码:');

/**

* 验证

*/

check:

if($user_password != $confirm_password){

$Processor->output()->print('两次密码输入不一致,请重新确认。', "\r\n");

$user_password = $Processor->input()->prompt('请输入管理员密码:');

$confirm_password = $Processor->input()->prompt('请确认管理员密码:');

goto check;

}

/**

* 管理员实例

*

* @var \asbamboo\frameworkStandard\model\user\UserEntity $UserEntity

*/

$UserEntity = new UserEntity();

$UserEntity->setUserId($user_id);

$UserEntity->setUserPassword($confirm_password);

$UserEntity->setUserType(UserConstant::TYPE_ADMIN);

/**

*

* @var Factory $Db

*/

$this->DbManager->persist($UserEntity);

$this->DbManager->flush();

$Processor->output()->print('管理员添加成功', "\r\n");

}

/**

*

* {@inheritDoc}

* @see \asbamboo\console\command\CommandInterface::exec()

*/

public function exec(ProcessorInterface $Processor)

{

if($this->getOptionValueByProcessor('list', $Processor)){

return $this->lists($Processor);

}

if($this->getOptionValueByProcessor('insert', $Processor)){

return $this->insert($Processor);

}

return $this->insert($Processor);

}

/**

*

* {@inheritDoc}

* @see \asbamboo\console\command\CommandInterface::desc()

*/

public function desc() : string

{

return '管理员账号管理';

}

/**

*

* {@inheritDoc}

* @see \asbamboo\console\command\CommandInterface::help()

*/

public function help() : string

{

$console = $_SERVER['SCRIPT_FILENAME'];

return <<

注意:选项insert和list不能同时使用,如果命令行不带任何参数,则表示省略insert选项。

例: 添加新的管理员账号

php {$console} {$this->getName()} --insert

php {$console} {$this->getName()}

例: 管理员账号列表

php {$console} {$this->getName()} --list

HELP;

}

/**

* 定义命令行名称

*

* @return string

*/

public function getName() : string

{

return 'admin';

}

}

命令的使用¶

./bin/console admin -h 查看帮助信息

./bin/console admin -i 添加新的管理员

./bin/console admin -l 列出管理员名单

账号管理 php,管理员admin账号管理工具相关推荐

  1. 后台userlist.php,后台用户管理(管理员登录后管理会员)

    [预备知识] 一.PHP访问MySQL数据库 1.连接到MySQL数据库 $conn=mysql_connect("localhost","root",&quo ...

  2. 修改织梦dedecms后台默认admin账号的方法

    本文实例讲述了修改织梦CMS后台默认admin账号的方法.分享给大家供大家参考.具体实现方法如下: 有些新手站长朋友在安装织梦网站的时候,默认的管理员名字没改就是admin,可是后期发现不太安全,想修 ...

  3. IOS开发者账号的相关配置-子账号(二)

    说明: 1.本文主要针对企业账户, 并假定主账号已经申请到了. 2.账号类型分为3种:Agent(创建者),Admin(管理员)及Member(成员) 一. 1.申请子账号 使用Agent或Admin ...

  4. 管理用户账号和组账号

    账号和权限管理 管理用户账号和组账号 用户账号和组账号概述 linux基于用户身份对资源访问进行控制 用户账号 组账号 UID和GID 用户账号文件 用户账号文件/etc/passwd 保存文件名称. ...

  5. 账号和权限管理——管理用户账号和组账号(一)

    一.用户账号和组账号概述 1.用户账号 在 Linux 操作系统中,根据系统管理的需要将用户账号分为不同的类型,主要包括超级用户.普通用户和程序用户,各类型拥有的权限.担任的角色也各不相同.  超级用 ...

  6. Linux--账号和权限管理(用户账号和组账号,用户账号和组帐号管理,文件和目录的权限和归属)

    文章目录 前言 一.用户账号和组账号 1.1用户账号 1.2组账号 1.3UID号和GID号 1.4用户账号文件 1.4.1用户账号文件/etc/passwd 1.4.2用户账号文件/etc/shad ...

  7. 账号和权限管理之管理用户账号和组账号

    账号和权限管理之管理用户账号和组账号 前言 1.用户介绍 2.组的分类 3.UID和GID 4.用户账号文件 5.添加用户账号 6.设置/更改用户口令 7.修改用户的账户属性 八.passwd与use ...

  8. 阿里云多账号管控与网络安全集中化管理能力升级发布

    简介:近日,阿里云正式发布基于资源目录的管控策略 Control Policy和云防火墙旗舰版两项能力,助力企业上云过程中的多账号管控和网络安全管理,在组织视角进行更高效的统一管控,确保云上多账号的安 ...

  9. 发布会预告 | 多账号管控与网络安全集中化管理能力升级

    简介:新品发布会即将来袭,多账号架构企业到底如何更高效更安全的管理云端?所有干货尽在6月9日直播间! 在数字化发展的大背景下,云在逐渐替代所有IT基础设施.云上的互联网企业不断壮大,教育.金融.政企. ...

最新文章

  1. 机房收费系统总结【4】-报错码
  2. 激光雷达基础-光探测和测距-遥感
  3. 常用网络故障集锦,收藏备用
  4. 常量池之字符串常量池String.intern()
  5. 在 ABP vNext 中编写仓储单元测试的问题一则
  6. 电路中滤波电容和退耦电容_详解电源滤波电路中的高频滤波电容电路
  7. 包含html语言的超链接标记的网页_什么是网页
  8. 计算机四年级测试题目,小学四年级下册数学总复习测试题(人教版)
  9. PyCharm中文设置方法(超级简单,一看就会,无需汉化包~)
  10. Camel可视化操作(结合Gooflow)
  11. 关于施耐德PLC下载程序错误出现“断言失败:‘Abort=Quit,Retry=Debug,lgnore=Continue’”
  12. 单细胞分析实录(10): 消除细胞周期的影响
  13. 光纤激光器仿真:(2)孤子分子及其转换动力学
  14. 建造者模式(Builder)---创建型
  15. [学习笔记]Windows CMD/bat
  16. 数据分析-面试(SQL真题)
  17. 中班音乐活动计算机反思,中班音乐优质教案《计算器》含反思
  18. 小爱音箱当电脑音箱(电脑没有蓝牙)
  19. 基于御安全APK加固的游戏反外挂方案
  20. BitLocker 秘钥如何获取

热门文章

  1. locate查找文件
  2. 计算机不装显卡会怎么样,没有显卡电脑会怎么样
  3. Python 微信送她99朵玫瑰花
  4. OpenCV识别草莓轮廓、质心、生长方向
  5. 你知道CAD绘图软件中的工具选项板是做什么的吗?
  6. mathplotlib库学习笔记
  7. mysql tokudb innodb_TokuDB vs Innodb 基准测试对比
  8. python气象数据处理——计算台风方位角平均物理量
  9. FPGA驱动SPI接口的LCD(三)——LCD的初始化
  10. 嵌入式实验(四):用STM32输出PWM波形/DAC功能完成波形输出