去年在做一个企业网站的时候碰到的问题,后台有登陆界面,登陆成功之后存入session,但是没有做访问控制,如果用户直接跳过登陆controller直接进入用户后台首页的action那我们就得不偿失了,所以说需要加入访问控制,那么如何加入访问控制呢,在action文件夹中新建一个controller:GloBalAction.class.php 写入内容

<?php
class GloBalAction extends Action{

function _initialize()
{
if($_SESSION['name'] == false){
echo "<script>alert('参数不正确');</script>";
$this->redirect('Login/index',array(),1,'页面跳转中');
}
}

}
?>

然后在每个后台controller中 extends GloBalAction 继承这个action,然后用户访问每个后台controller的时候就会先去globalaction中判断一下,如果没有登录就跳转首页了,但是有一点需要注意,后台登录页面的controller不要继承GloBalAction ,如果继承了的话,那一进入登录也就会循环跳转登录