深圳全飞鸿

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 858|回复: 4
打印 上一主题 下一主题

关于权限的研究

[复制链接]

800

主题

1379

帖子

7704

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7704
跳转到指定楼层
楼主
发表于 2022-5-29 14:55:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

关键字:modal-footer
>>>>d:\project.syant\0005php\htdocs\pmp\module\common\view\pastetext.html.php<<<<<
      <div class="modal-footer text-left">
>>>>d:\project.syant\0005php\htdocs\pmp\module\user\view\deny.html.php<<<<<
    <div class='modal-footer'>


回复

使用道具 举报

800

主题

1379

帖子

7704

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7704
沙发
 楼主| 发表于 2022-5-29 14:59:58 | 只看该作者
SELECT * FROM `zt_userview` wHeRe account  = 'admin'
DELETE FROM `zt_grouppriv` wHeRe `group`  = '17' AND  module IN ('index','my','todo','product','branch','story','productplan','release','project','task','build','qa','bug','testcase','testtask','testreport','testsuite','caselib','doc','mail','custom','datatable','svn','git','company','dept','group','user','tree','report','search','admin','extension','editor','convert','api','file','misc','message','action','backup','cron','dev','chat')
REPLACE `zt_grouppriv` SET `group` = '17',`module` = 'index',`method` = 'index'
回复 支持 反对

使用道具 举报

800

主题

1379

帖子

7704

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7704
板凳
 楼主| 发表于 2022-5-29 15:37:10 | 只看该作者
添加对info页面的支持

  1.     public function checkPriv()
  2.     {
  3.         $module = $this->app->getModuleName();
  4.         $method = $this->app->getMethodName();

  5.         if(!empty($this->app->user->modifyPassword) and (($module != 'my' or $method != 'changepassword') and ($module != 'user' or $method != 'logout'))) die(js::locate(helper::createLink('my', 'changepassword')));
  6.                
  7.                 /*
  8.                  * 添加一个公共的info模块
  9.                  */
  10.                 if($method=="info") return true;
  11.                
  12.         if($this->isOpenMethod($module, $method)) return true;
  13.         if(!$this->loadModel('user')->isLogon() and $this->server->php_auth_user) $this->user->identifyByPhpAuth();
  14.         if(!$this->loadModel('user')->isLogon() and $this->cookie->za) $this->user->identifyByCookie();

  15.         if(isset($this->app->user))
  16.         {
  17.             if(!commonModel::hasPriv($module, $method)) $this->deny($module, $method);
  18.         }
  19.         else
  20.         {
  21.             $referer  = helper::safe64Encode($this->app->getURI(true));
  22.             die(js::locate(helper::createLink('user', 'login', "referer=$referer")));
  23.         }
  24.     }
复制代码


回复 支持 反对

使用道具 举报

800

主题

1379

帖子

7704

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7704
地板
 楼主| 发表于 2022-6-11 22:15:16 | 只看该作者


        if(isset($this->app->user))
        {
            if(!commonModel::hasPriv($module, $method)) $this->deny($module, $method);
        }



有三个函数:
hasPriv
checkPriv
hasDBPriv
回复 支持 反对

使用道具 举报

800

主题

1379

帖子

7704

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7704
5#
 楼主| 发表于 2022-10-3 15:54:15 | 只看该作者
当没有权限时,会跳转到登录界面,并且URL里有一个referer=
确定是来源于
pmp\module\common\model.php

    public function checkPriv()
    {
        $module = $this->app->getModuleName();
        $method = $this->app->getMethodName();
         ... 。。。
        if(isset($this->app->user))
        {
            if(!commonModel::hasPriv($module, $method)) $this->deny($module, $method);
        }
        else
        {
            $referer  = helper::safe64Encode($this->app->getURI(true));
            die(js::locate(helper::createLink('user', 'login', "referer22=$referer")));
        }
    }

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|nagomes  

GMT+8, 2025-5-5 02:16 , Processed in 0.028611 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表