Auth和fatfree框架

问题描述 投票:0回答:1

我一直在使用两个路由登录和注销来玩无忧的Auth。我第一次在网址中使用登录时,会出现询问用户名和密码的对话框。输入表字段'user_name'中存在的用户名和'user-pass'字段中的密码后,我为true获得了$result,因此显示网页有效。有趣的是,我没有得到任何地方的代码new Session();然后我去了url /logout echo $f3->get('SESSION.pass');正确显示建议Auth开始会话。

/logout后我的echo $f3->get('SESSION.pass');路线我有$f3->clear('SESSION');

然而,如果我然后在/login url和logout url之间翻转,则对话框不再显示并且注销仍显示“1234”,即SESSION.pass。我本以为在去/logout网址之后会话会清除,所以回到/login网址之后我会提起登录对话框登录。

简而言之,我的问题是“你如何退出Auth”?文档似乎没有提到它。

$f3->route('GET    /login',
  function($f3)
  {
    $db = new \DB\SQL('mysql:host=localhost;port=3306;      dbname=accra_names2','root','victoria');   
    $user = new DB\SQL\Mapper($db, 'users');

    $auth = new \Auth($user, array('id'=>'user_name', 'pw'=>'user_pass'));
    $result = $auth->basic(); // a network login prompt will display to authenticate the user 
    $f3->set('SESSION.pass','1234');

    if($result)
    //result true
    {
      echo "it works";
    }
  }
);

$f3->route('GET    /logout',
  function($f3)
  {
    echo "you want to log out ";
    echo $f3->get('SESSION.pass');
    $f3->clear('SESSION');
  }
);
fat-free-framework
1个回答
3
投票

实际上你的问题是“如何从HTTP基本身份验证注销”。关于它有几个主题和答案在这里,像这一个How to log out user from web site using BASIC authentication?因此,如果你想完全控制登录/注销机制,你可能更好的自己的HTML表单而不是浏览器基本登录框。

© www.soinside.com 2019 - 2024. All rights reserved.