首页 > PHP > 关于weiphp创建了新的模块后 自动跳转至home登陆的修改
2014
07-22

关于weiphp创建了新的模块后 自动跳转至home登陆的修改

今天在使用weiphp新增模块时发现为了保证程序的谨密和安全行,weiphp将登陆页面地址进行锁定 也就是一旦新增了模块,将无法使用


具体代码见

private function initUser() {
        $index_1 = strtolower ( MODULE_NAME . '/*/*' );
        $index_2 = strtolower ( MODULE_NAME . '/' . CONTROLLER_NAME . '/*' );
        $index_3 = strtolower ( MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME );
        $is_follow_login = session ( 'is_follow_login' );
        if ($is_follow_login == 1) {
            return true;
        }
        $user = session ( 'user_auth' );
        // 当前用户信息
        $user ['token'] = get_token ();
        $user ['openid'] = get_openid ();
        $access = array_map ( 'trim', explode ( "\n", C ( 'access' ) ) );
        $access = array_map ( 'strtolower', $access );
        $access = array_flip ( $access );
        $guest_login = isset ( $access [$index_1] ) || isset ( $access [$index_2] ) || isset ( $access [$index_3] ) || $index_1 == 'admin/*/*' || $index_3 == 'home/addons/execute' || $index_2 == 'home/user/*';
        if (! is_login () && ! $guest_login) {
            Cookie ( '__forward__', $_SERVER ['REQUEST_URI'] );
            redirect ( U ( 'home/user/login' ) );
        }

以上代码第18行友谊个guest_login 这就是锁定登陆页面的地方。如果新增了页面必须在这个18行中进行增加  增加的代码如下(假设新增加的模块为liger)

$guest_login = isset ( $access [$index_1] ) || isset ( $access [$index_2] ) || isset ( $access [$index_3] ) || $index_1 == 'admin/*/*' || $index_3 == 'home/addons/execute' || $index_2 == 'home/user/*'|| $index_1 == 'liger/*/*';


这样增加之后你再进行测试就保证没有问题了。他就不会跳转了。





最后编辑日期:
作者:hainuo
hainuo
这个作者貌似有点懒,什么都没有留下。
https://shenghuo.alipay.com/transfer/aaCollect/pay.htm?id=18656668&sign=1e0c1245ffd24ee46f648ea278825f49
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!