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

天门市网站建设_网站建设公司_Python_seo优化

山西网站建设适合v加xtdseo,asp做网站和dw的区别,live writer wordpress,wordpress企业站模板下载出现场景: 1. 没有登录#xff0c;也能访问网页 2. 没有相关权限#xff0c;也能访问对应的控制器和方法 解决方案: 定义一个CommonController,其他控制器继承CommonController,在CommonController中定义初始化方法_initialize 注:这里用的是tp3.2框架,如果我们直接在Commo…出现场景: 1. 没有登录也能访问网页 2. 没有相关权限也能访问对应的控制器和方法 解决方案: 定义一个CommonController,其他控制器继承CommonController,在CommonController中定义初始化方法_initialize 注:这里用的是tp3.2框架,如果我们直接在CommonController中定义__constrct构造方法,会造成重写Controller,所以我们直接使用_initialize方法(_initialize方法是tp框架的初始化方法) 注:也可以parent::__construct();[tp框架中推荐用_initalize方法,如果是其他框架或是原生,可以用parent::__construct()] 具体实施: 1. 解决没有登录也可以访问网页 ?php namespace Home\Controller; use Think\Controller; class CommonController extends Controller {Public function _initialize(){// 初始化的时候检查用户权限if(!isset($_SESSION[username]) || $_SESSION[username]){$this-redirect(Login/login);}} } ? 核心思想: 判断是否有session 2.  解决没有相关权限也能访问对应的控制器和方法 核心思想: (1) 从session中获取当前访问的角色id role_id (2) 根据role_id从role表中查询role_auth_path的值(role_auth_path记录了当前角色所有能够访问的控制器-方法字符串) (3) 获取当前访问的控制器-方法字符串,和当前角色的role_auth_path进行比较,如果当前访问的控制器-方法在role_auth_path中,则让其正常访问, 如果不在,则说明当前角色不具有访问权限,为跳墙访问 数据表地址: http://blog.csdn.net/m_nanle_xiaobudiu/article/details/79443389 具体实施: ?php namespace Home\Controller; use Think\Controller;class CommonController extends Controller{function _initialize(){//检测sessionif(!session(?id)){$this-error(您尚未登录请登录后再访问, U(Index/login));}//获取当前访问的控制器-方法$now_path CONTROLLER_NAME.-.ACTION_NAME;//获取session中的roleid从role表中获取role_auth_path$role_id session(role_id);$role_info D(Role)-field(role_auth_path)-find($role_id);$role_auth_path $role_info[role_auth_path];//将 role_auth_path 转为数组$role_auth_path explode(,, $role_auth_path);//判断$now_path是否在$role_auth_path中if(!in_array($now_path, $role_auth_path)){//如果不存在则为跳墙访问跳转回登录页$this-error(您无权访问该模块,请重新登录再访问, U(Index/login), 3);}} }备注: 为角色分配权限 html部分: 角色列表页面roleList.html table theadtrthinput name typecheckbox value idcheckAll //thth编号/thth角色名/thth权限ids/thth权限路径/thth操作/th/tr/theadtbodyforeach namerole_list itemvotrtdinput name typecheckbox value //tdtd{$vo.role_id}/tdtd{$vo.role_name}/tdtd{$vo.role_auth_ids}/tdtd{$vo.role_auth_path}/tdtda href{:U(distribute, role_id.$vo[role_id])} classtablelink分配权限/a a href# classtablelink 删除/a/td/tr/foreach/tbody /table 权限列表 distribute.html html headmeta http-equivContent-Type contenttext/html; charsetutf-8 /title无标题文档/titlescript languageJavaScript src__ADMIN__/js/jquery.js/script /headbodydivform action methodpostinput typehidden namerole_id value{$Think.get.role_id} /您正在给【label stylecolor: red;font-weight: bolder;{$role_info.role_name}/label】设置权限ultabletheadtrth权限分类/thth权限/th/tr/theadtbodyforeach nameauth_p itemvotrtdin namevo.auth_id value$role_info.role_auth_idsinput typecheckbox nameauth_id[] value{$vo.auth_id} checkedchecked /else /input typecheckbox nameauth_id[] value{$vo.auth_id} //in{$vo.auth_name}/tdtdforeach nameauth_s itemvif condition$v.auth_pid eq $vo.auth_id input typecheckbox nameauth_id[] value{$v.auth_id}in namev.auth_id value$role_info.role_auth_idscheckedchecked/in{$v.auth_name}emsp;/if/foreach/td/tr/foreach/tbody/tablebr/lilabelnbsp;/labelinput name idbtnSubmit typebutton classbtn value确认保存 //li/ul/form/div /bodyscript typetext/javascript $(function(){//给btnsubmit绑定点击事件$(#btnSubmit).on(click,function(){//表单提交$(form).submit();}) }); /script /htmlphp部分: 对应的方法: ?php function distribute(){$role_model D(Role);if(IS_POST){//1. 接收role_id的值$role_id I(post.role_id);//1. 接收表单数据$ids I(post.auth_id);//dump($ids);//2. 将数组转为字符串$ids implode(,, $ids);//3. 根据ids从auth表中查询数据拼接role_auth_path需要数据$auth_list D(Auth)-where(auth_id in ($ids))-select();//dump($auth_list);die;$role_auth_path ;foreach($auth_list as $value){if($value[auth_c] ! ){$role_auth_path . $value[auth_c].-.$value[auth_a].,;}}//去掉最后一个 ,$role_auth_path rtrim($role_auth_path, ,);//4. 构造修改数据$save_data array(role_id $role_id,role_auth_ids $ids,role_auth_path $role_auth_path);if($role_model-save($save_data)){$this-success(分配权限成功, U(roleList), 3);} else {$this-error(分配权限失败, U(roleList), 3);}} else {//1.接收角色id$role_id I(get.role_id);//2. 根据角色id查询角色信息$role_info $role_model-find($role_id);//3. 分配到模板$this-assign(role_info, $role_info);//4. 分一二级读取auth表中的权限信息$auth_model D(Auth);$auth_p $auth_model-where(auth_pid0)-select();$auth_s $auth_model-where(auth_pid!0)-select();$this-assign(auth_p, $auth_p);$this-assign(auth_s, $auth_s);$this-display();}}?
http://www.ihoyoo.com/news/35601.html

相关文章:

  • 有哪些做外贸免费的网站做酒吧设计的网站
  • 个人网站多少钱一年秦皇岛乾兴建设
  • seo外包公司哪家好网站优化公司认准乐云seo
  • 网站建设毕业设计提问用凡科帮别人做网站
  • 怎么做app网站个人简历封面模板免费
  • 哪个网站可以学做包包国外唯美flash个人网站欣赏
  • 广州购物商城网站开发郑州做网站首选九零后网络
  • 手机网站活动策划方案企业网站建设前期规划
  • 公众号制作链接教程南通做网站优化公司
  • 自己做免费手机网站吗地方网站全网营销
  • 白云微网站建设信誉好的武进网站建设
  • 计算机网站开发的目的wordpress弱口令字典
  • 网站域名不变网站可以从做吗网站建设的大公司好
  • 广州网站设计总部代做效果图网站好
  • 织梦网站上传做网站软件_手机
  • 平台网站建设收费seo哪里可以学
  • 网站建设翻译谁提供网站开发技术岗位职责
  • wix做网站教程上海昆山网站公司哪家好
  • 网站seo问题诊断工具营销型网站建设一般多少钱
  • 建设网站源码移动网站设计方案
  • 如何建设像艺龙一样网站品牌网站建设 杭州
  • 中山网站建设金科做直播网站用什么语言
  • 免费申请试用网站关键字搜索引擎
  • 免费网站报价单怎么做为中国移动做网站的公司叫什么
  • 怎样直接输入网址打开网站wordpress 积分系统
  • 建设银行网站关闭闪付网站建设制作设计推广优化
  • 网站搭建阿里云网站搭建教程
  • 网站 动态 静态关键词网站
  • 营销品牌有哪些青岛网站推广优化公司
  • 做网站容易 但运营难65平米装修全包多少钱