【问题标题】:Auth and fatfree frameworkAuth 和 fatfree 框架
【发布时间】:2014-10-17 16:46:25
【问题描述】:

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

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

但是,如果我随后在/login url 和注销 url 之间切换,对话框不再显示,注销仍然显示“1234”,即 SESSION.pass。我原以为在转到/logout url 后会话会清除,所以在返回/login url 后我会弹出登录对话框进行登录。

简而言之,我的问题是“您如何注销 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】:

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

    【讨论】:

    • 干杯 ikkez 我转而使用带有 POST 的 Web Web 表单来路由并在此处使用想法:groups.google.com/forum/#!topic/f3-framework/4Yl-bZxTMVE 我对它的工作方式感到满意只有一个问题我在路由中尝试了这个:function beforeRoute( $f3) { } 而不是正常的 $f3->route('GET /somepage', function($f3) {} 它不起作用 - 要么我理解错误,要么输入错误
    • 不,beforeroute 是从您已设置路由的任何控制器类调用的钩子。所以如果你有 $f3->route('GET /somepage','Controller/Page');然后这条路由的 beforeroute 进入你的页面类控制器/page.php
    • 好的,验证工作正常,这里有一个简洁的论坛:accra-guesthouse.com/forumTopics 将阅读 fatfree 文档
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多