LINUXQQ

八月 23, 2010

thinkphp 登陆代码

Filed under: 乱7八糟 — admin @ 5:04 下午

<?php
class PublicAction extends BaseAction{

public function checkLogin() {
   $secure_code = C(‘SECURE_CODE’);
   $userUsername = $_POST["username"];
   $userPassword = md5($secure_code.md5($_POST["password"]));
  
   if(empty($_POST['username'])) {
    $this->error(‘帐号错误!’);
   }elseif (empty($_POST['password'])){
    $this->error(‘密码必须!’);
   }elseif ($_SESSION['verify'] != md5($_POST['verify'])){
    $this->error(‘验证码错误!’);
   }
  
   //生成认证条件
        $map            =   array();
        $map["username"] = $_POST['username'];
        $map["status"] = array(‘gt’,0);

   $userDao = D(‘User’);
   $user = $userDao->find($map);

   //使用用户名、密码和状态的方式进行认证
   if(false === $user) {
    $this->error(‘用户名不存在或已禁用!’);
   }else {
    if($user->username != $_POST['username']) {
     $this->error(‘帐号错误!’);
    }
    if(md5($secure_code.$user->password) != $userPassword) {
     $this->error(‘密码错误!’);
    }}
    $_SESSION[C('USER_AUTH_KEY')] = $user->uid;
    $userDao->setField(‘lastLoginTime’,time(),”uid=”.$user->uid);
      if($user->type ==’a') {
     // 管理员不受权限控制影响
            $_SESSION['administrator']   = true;
            $_SESSION['isAdmin']   =   true;
            }else{
     $_SESSION['administrator']   = false;
    }
    /*记录登陆状态
    Session::set(‘uid’,$user->uid);
    Session::set(‘userInfo’,$user);
    Cookie::set(‘username’,$userUsername,36000000);*/
    RBAC::saveAccessList();
    $this->success(‘登录成功!’);
}

public function login() {
   if(!isset($_SESSION[C('USER_AUTH_KEY')])) {
    $this->display();
   }else{
    $this->redirect(‘index’,'Index’);
   }
}

public function logout()
{
   if(isset($_SESSION[C('USER_AUTH_KEY')])) {
    unset($_SESSION[C('USER_AUTH_KEY')]);
    unset($_SESSION['administrator']);
    unset($_SESSION['userInfo']);
    unset($_SESSION['isAdmin']);
    $this->assign(“message”,’登出成功!’);
    $this->assign(“jumpUrl”,__URL__.’/login/’);
   }else {
    $this->assign(‘error’, ‘已经登出!’);
   }
   $this->forward();
}

/**
     +———————————————————-
     * 验证码显示
     +———————————————————-
     * @access public
     +———————————————————-
     * @return void
     +———————————————————-
     * @throws FcsException
     +———————————————————-
     */
function verify()
{
   import(“ORG.Util.Image”);
   if(isset($_REQUEST['adv'])) {
    Image::showAdvVerify();
   }else {
    Image::buildImageVerify();
   }
}

public function index()
{
   //如果通过认证跳转到首页
   redirect(__APP__);
}

/**
     +———————————————————-
     * 取得操作成功后要返回的URL地址
     * 默认返回当前模块的默认操作
     * 可以在action控制器中重载
     +———————————————————-
     * @access public
     +———————————————————-
     * @return string
     +———————————————————-
     * @throws ThinkExecption
     +———————————————————-
     */
function getReturnUrl()
{
   return __URL__.’?’.C(‘VAR_MODULE’).’=’.MODULE_NAME.’&’.C(‘VAR_ACTION’).’=’.C(‘DEFAULT_ACTION’);
}

}
?>

评论暂缺 »

还没有任何评论。

这篇文章上的评论的 RSS feed TrackBack URL

留下评论

要发表评论,您必须先登录

Powered by LINUXQQ   ICP 10203065