【问题标题】:Remember the session with Auth module?还记得与 Auth 模块的会话吗?
【发布时间】:2023-03-18 22:10:01
【问题描述】:

我正在尝试使用登录页面上的复选框使 Auth 模块“记住”用户会话。发生的情况是没有创建 cookie,通常只创建会话。我注意到 user_tokens 表,但根本看不到 user_token 模型的方法的任何使用。我确实将(bool) TRUE 作为第三个参数传递给login() 方法,但没有区别。

此功能是否完整,或者我必须通过覆盖 Model_Auth_User 的 login() 方法来添加自己的功能?

这方面的最佳做法是什么?

【问题讨论】:

    标签: php authentication module kohana


    【解决方案1】:

    Answer from the Kohana forum (credit to biakavero)贴在这里供参考:

    1. 致电Auth::instance()->login()$remember = TRUE
    2. 为当前用户创建了数据库令牌。 Cookie authautologin 已生成。
    3. 销毁用户对象:Session::instance()->delete('auth_user'); // dont call logout() method as it will delete cookie & token
    4. 致电Auth::instance()->auto_login() 并检查Auth::instance()->get_user() // should return Model_User object

    【讨论】:

    • 知道为什么这在使用 flash (swfupload) 的 $_POSTed 页面上不起作用吗?
    • @handsomeGun 因为 swfupload 不发送会话的 cookie。您需要以其他方式传递它,并可能在脚本中抓取它并使用传递的密钥加载会话。
    猜你喜欢
    • 2013-07-14
    • 1970-01-01
    • 2012-07-08
    • 1970-01-01
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多