账号管理 php,管理员admin账号管理工具
管理员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账号管理工具相关推荐
- 后台userlist.php,后台用户管理(管理员登录后管理会员)
[预备知识] 一.PHP访问MySQL数据库 1.连接到MySQL数据库 $conn=mysql_connect("localhost","root",&quo ...
- 修改织梦dedecms后台默认admin账号的方法
本文实例讲述了修改织梦CMS后台默认admin账号的方法.分享给大家供大家参考.具体实现方法如下: 有些新手站长朋友在安装织梦网站的时候,默认的管理员名字没改就是admin,可是后期发现不太安全,想修 ...
- IOS开发者账号的相关配置-子账号(二)
说明: 1.本文主要针对企业账户, 并假定主账号已经申请到了. 2.账号类型分为3种:Agent(创建者),Admin(管理员)及Member(成员) 一. 1.申请子账号 使用Agent或Admin ...
- 管理用户账号和组账号
账号和权限管理 管理用户账号和组账号 用户账号和组账号概述 linux基于用户身份对资源访问进行控制 用户账号 组账号 UID和GID 用户账号文件 用户账号文件/etc/passwd 保存文件名称. ...
- 账号和权限管理——管理用户账号和组账号(一)
一.用户账号和组账号概述 1.用户账号 在 Linux 操作系统中,根据系统管理的需要将用户账号分为不同的类型,主要包括超级用户.普通用户和程序用户,各类型拥有的权限.担任的角色也各不相同. 超级用 ...
- Linux--账号和权限管理(用户账号和组账号,用户账号和组帐号管理,文件和目录的权限和归属)
文章目录 前言 一.用户账号和组账号 1.1用户账号 1.2组账号 1.3UID号和GID号 1.4用户账号文件 1.4.1用户账号文件/etc/passwd 1.4.2用户账号文件/etc/shad ...
- 账号和权限管理之管理用户账号和组账号
账号和权限管理之管理用户账号和组账号 前言 1.用户介绍 2.组的分类 3.UID和GID 4.用户账号文件 5.添加用户账号 6.设置/更改用户口令 7.修改用户的账户属性 八.passwd与use ...
- 阿里云多账号管控与网络安全集中化管理能力升级发布
简介:近日,阿里云正式发布基于资源目录的管控策略 Control Policy和云防火墙旗舰版两项能力,助力企业上云过程中的多账号管控和网络安全管理,在组织视角进行更高效的统一管控,确保云上多账号的安 ...
- 发布会预告 | 多账号管控与网络安全集中化管理能力升级
简介:新品发布会即将来袭,多账号架构企业到底如何更高效更安全的管理云端?所有干货尽在6月9日直播间! 在数字化发展的大背景下,云在逐渐替代所有IT基础设施.云上的互联网企业不断壮大,教育.金融.政企. ...
最新文章
- 机房收费系统总结【4】-报错码
- 激光雷达基础-光探测和测距-遥感
- 常用网络故障集锦,收藏备用
- 常量池之字符串常量池String.intern()
- 在 ABP vNext 中编写仓储单元测试的问题一则
- 电路中滤波电容和退耦电容_详解电源滤波电路中的高频滤波电容电路
- 包含html语言的超链接标记的网页_什么是网页
- 计算机四年级测试题目,小学四年级下册数学总复习测试题(人教版)
- PyCharm中文设置方法(超级简单,一看就会,无需汉化包~)
- Camel可视化操作(结合Gooflow)
- 关于施耐德PLC下载程序错误出现“断言失败:‘Abort=Quit,Retry=Debug,lgnore=Continue’”
- 单细胞分析实录(10): 消除细胞周期的影响
- 光纤激光器仿真:(2)孤子分子及其转换动力学
- 建造者模式(Builder)---创建型
- [学习笔记]Windows CMD/bat
- 数据分析-面试(SQL真题)
- 中班音乐活动计算机反思,中班音乐优质教案《计算器》含反思
- 小爱音箱当电脑音箱(电脑没有蓝牙)
- 基于御安全APK加固的游戏反外挂方案
- BitLocker 秘钥如何获取