当前位置: 首页 > news >正文

网站设计中超链接怎么做知名网站建设官网

网站设计中超链接怎么做,知名网站建设官网,网上购物商城网站建设毕业设计,网站注销怎么做消TP5前后端分离RBAC权限管理API 1.创建配置项目2.管理员功能2.1登录验证2.2.返回分页数据2.3增删改功能 3.角色功能3.权限管理4.给管理员分配角色5.给角色分配权限6.导航菜单功能 坑神的博客文章可以参考#xff0c;还可以和他交流请教#xff0c;坑神人很nice#xff01; 1.… TP5前后端分离RBAC权限管理API 1.创建配置项目2.管理员功能2.1登录验证2.2.返回分页数据2.3增删改功能 3.角色功能3.权限管理4.给管理员分配角色5.给角色分配权限6.导航菜单功能 坑神的博客文章可以参考还可以和他交流请教坑神人很nice 1.创建配置项目 1.创建项目 我用的是phpstudy和composer在phpstudy的www目录下运行cmd然后创建5.1的tp框架,创建名是rbac composer create-project topthink/think5.1.* rbac2.设置项目 普通设置app_debug true, app_trace true。这里我做API模块所以方便起见可以设置默认入口文件。数据库设置database.php配置数据库信息。域名设置在phpstudy和hosts里面设置域名。在项目目录下cmdphp think make:controller api/Login创建api模块下Login控制器。 2.管理员功能 2.1登录验证 1.首先前后端分离需要解决跨域问题所以建一个Cross控制器api控制器之后继承它。 php think make:controller api/Cross?phpnamespace app\api\controller;use think\Controller; use think\Request;class Cross extends Controller {protected function initialize(){parent::initialize();header(Access-Control-Allow-Origin:*);header(Access-Control-Allow-Methods:GET, POST, OPTIONS,PUT, DELETE);header(Access-Control-Allow-Headers:Origin,X-Requested-With,Content-Type,token,Accept,x-access-sign,x-access-time);if (request()-isOptions()) {exit();}} } class Login extends Cross2.jwtJSON Web Token登录 首先创建model php think make:model AdminModel?phpnamespace app\common\model;use think\Model;class AdminModel extends Model {protected $tableadmin;#表名 }连接数据库表在login的controller中 use app\common\model\AdminModel; $dbnew AdminModel();引入JWT进行登录验证 composer require firebase/php-jwt?phpnamespace app\api\controller; use app\common\model\AdminModel; use \Firebase\JWT\JWT; use think\Controller; use think\Request;class Login extends Cross {public function index(Request $request){$data$request-param();$dbnew AdminModel();$info$db-where(username,$data[username])-find();if(!$info){return json([code 0, msg 账号不存在]);}if($info[password]!$data[password]){return json([code 0, msg 账号或者密码不存在]);}$jwtnew JWT();$payload[issrbac,audrbac,iat time(), // token 的创建时间nbf time(), // token 的生效时间exp time() 3600, // token 的过期时间aid$info[id]];$keykey;$keyId keyId;$token$jwt::encode($payload,$key,HS256,$keyId);// dump($token);return json([code 1, msg $token]);}} 3.解析token php think make:controller api/Base --plain#Base控制器只建一个初始化方法然后这个Base类也要继承Cross实现跨域请求这个算是一个中间件初始化请求的token内容从token里面获取uid信息。 ?phpnamespace app\api\controller;use think\Controller; use Firebase\JWT\JWT; use Firebase\JWT\Key; class Base extends Cross {public function initialize(){parent::initialize();$header request()-header();if (!isset($header[token])){return json([code0,msg请先登录])-send();}if(empty($header[token])){return json([code0,msg请先登录])-send();}$key new Key(key, HS256);$info JWT::decode($header[token], $key);$this-aid$info-aid;#token验证通过将token里的uid拿到。// return json([code1,token$info])-send();} }4.请求路由控制器继承上面的base就可以拿到用户id然后进行权限验证 php think make:controller api/v1/Admin?phpnamespace app\api\controller\v1; use app\common\model\AdminModel; use app\api\controller\Base; use think\Request;class Admin extends Base {public function index(){$aid$this-aid;$dbnew AdminModel();$admininfo$db-where(id,$aid)-find();#通过uid拿到这个用户的信息dump($admininfo);die();} } 2.2.返回分页数据 通过$db-limit($limit)-page($page)-field($field)-select();即可获得指定页数据。 public function index(Request $request){$limit$request-param(limit)?$request-param(limit):10;$page$request-param(page)?$request-param(page):1;$dbnew AdminModel();$fieldid,username,create_time;$list$db-limit($limit)-page($page)-field($field)-select();if ($list){$count$db-count(id);return json([code1,msg获取成功,data$list,total$count]);}else{return json([code0,msg暂无数据]);}}2.3增删改功能 public function save(Request $request)//修改和增加功能{$data$request-param();// dump($data);die();$dbnew AdminModel();if (isset($data[id]) !empty($data[id])){//有id,修改功能$info$db-where(id,$data[id])-find();// dump($info);die();if (isset($data[password]) !empty($data[password])){//要修改密码if ($info[password]md5($data[password])){$data[password]$info[password];}else{$data[password]md5($data[password]);}}$res$db-save($data,[id$info[id]]);//修改对象}else{//无id添加功能$data[password]md5($data[password]);//密码加密后再存到数据库$res$db-save($data);//添加对象}if($res){return json([code1,msg操作成功]);}else{return json([code0,msg操作失败]);}}public function delete(Request $request)//删除功能{$id$request-param(id);$dbnew AdminModel();if ($id1){//没有删除权限return json([code0,msg此用户不能删除]);}$res$db-where(id,$id)-delete();if ($res){return json([code1,msg操作成功]);}else{return json([code0,msg操作失败]);}}3.角色功能 1.创建模型和控制器 php think make:controller api/v1/Role php think make:model RoleModel2.创建数据库并在模型里连接到数据库 ?php namespace app\common\model; use think\Model; class RoleModel extends Model {protected $tablerole; }3.在controller里面写功能 3.1分页功能 public function index(Request $request){$limit$request-param(limit)?$request-param(limit):10;$page$request-param(page)?$request-param(page):1;$dbnew RoleModel();$list$db-where(status,1)-limit($limit)-page($page)-select();if(!$list-isEmpty()){$count$db-where(status,1)-count(id);return json([code1,msg获取成功,data$list,total$count]);}else{return json([code0,msg暂无数据]);}}3.2增删改功能 public function save(Request $request){if (!$request-isPost()){return json([code0,msg操作失败]);}$data$request-param();$dbnew RoleModel();if(isset($data[id])!empty($data[id])){$res$db-save($data,[id$data[id]]);}else{$res$db-save($data);}if ($res){return json([code1,msg操作成功]);}else{return json([code0,msg操作失败]);}}public function delete(Request $request){$id$request-param(id);$dbnew RoleModel();$res$db-where(id,$id)-delete();if ($res){return json([code1,msg操作成功]);}else{return json([code0,msg操作失败]);}}3.权限管理 1.创建模型和控制器 php think make:controller api/v1/Rule php think make:model RuleModel2.创建数据库并在模型里连接到数据库 ?php namespace app\common\model; use think\Model; class RuleModel extends Model {protected $tablerule; }3.在controller里面写功能分页查询和增删改功能。 4.给管理员分配角色 1.创建模型一对多的中间表和控制器 php think make:controller api/v1/RoleAssign php think make:model AdminRoleModel?php namespace app\common\model; use think\Model; class AdminRoleModel extends Model {protected $tableadmin_role; }2.在控制器里进行增改查工作。 public function save(Request $request)//增改admin的role{$admin_id$request-param(admin_id);$role_id$request-param(role_id);$dbnew AdminRoleModel();$info$db-where(admin_id,$admin_id)-find();//如果admin——id存在就是修改用户角色表否则是增加if($info){$res$db-where(id,$info[id])-setField(role_id,$role_id);}else{$data[admin_id]$admin_id;$data[role_id]$role_id;$res$db-save($data);}if ($res){return json([code1,msg操作成功]);}else{return json([code0,msg操作失败]);}}public function read(Request $request)//根据id查看它的role有哪些{$admin_id$request-param(admin_id);$dbnew AdminRoleModel();$info$db-where(admin_id,$admin_id)-find();$dbnew RoleModel();$list$db-where(status,1)-field(id,name)-select();if($info){$tmpexplode(,,$info[role_id]);#如果$info[role_id]的值为1,2,3那么$tmp的值就会是一个数组[1, 2, 3]foreach($list as $k$v){if(in_array($v[id],$tmp)){$list[$k][check]true;}else{$list[$k][check]false;}}}else{foreach($list as $k$v){$list[$k][check]false;}}return json([code1,data$list]);}5.给角色分配权限 1.创建模型一对多的中间表和控制器 php think make:controller api/v1/RoleRule php think make:model RoleRuleModel?php namespace app\common\model; use think\Model; class RoleRuleModel extends Model {protected $tablerole_rule; }2.在控制器里进行增改查工作同上。 6.导航菜单功能
http://www.w-s-a.com/news/240322/

相关文章:

  • 杭州建设实名制报备网站Wordpress外贸网站搭建公司
  • 山西云起时网站建设计算机网站开发实现总结
  • 一个网站做两个优化可以做吗永清网站建设
  • wordpress英文采集wordpress seo 链接
  • 进入建设银行的网站就打不了字工程建设标准化网站
  • 杭州网站推广大全网站建设演讲稿
  • 厦门网站的制作太仓专业网站建设
  • 天津公司网站建设公司哪家好在阿里巴巴国际网站上需要怎么做
  • 网站关键词seo推广公司哪家好无锡市无锡市住房和城乡建设局网站
  • 开远市新农村数字建设网站网站如何做QQ登录
  • 自己做个网站教程高端网站开发哪家强
  • 网站模板免费下载中文版大连网站建设哪家专业
  • 网站建设的基本代理公司注册公司坑人
  • 企业网站被黑后如何处理wordpress邮件发送类
  • 北京网站的网站建设公司建设工程竣工验收消防备案网站
  • 淄博市 网站建设报价wordpress里的发消息给我
  • 网站下拉菜单怎么做游戏网站模板免费下载
  • 阿里云上做网站套模板怎么做一个网站开发小组
  • 营销型网站源码下载青岛做网站建设的公司哪家好
  • 迁西网站定制怎么制作网址内容
  • 深圳装饰公司网站宁波网站建设哪里有
  • 建站网站破解版怎么看自己的网站是用什么做的
  • 做微商那个网站好织梦模板更新网站
  • 网站注册表单怎么做手机做网站需要多少天
  • 书店商城网站html模板下载企业网站建设方案书范文
  • 建设网站是普通办公吗快速排名seo软件
  • 大型外贸网站建设网站建设图片尺寸要求
  • 网站建设可信赖北京网站开发月薪
  • 专门做lolh的网站wordpress 模版 cho's
  • 网上做设计兼职哪个网站好点网站开发毕业周记