session的config可以配置session的有效时间。如果不设置则表示关闭浏览器失效。 但是如果登录是有“下次自动登录”选择项,则需要再勾选时设置长时间session有效,没有勾选则在关闭浏览器session无效。 这个时候需要config能够动态设置,但是ci的session是自动加载的,session的配置已经在开始时加载完成。后端控制无法有效控制。 个人思路: “下次自动登录”利用js在cookie上做标记
document.cookie=$(".keeplogin").is(":checked")?'keeplogin=1;':'keeplogin=0;';
然后再config文件中对cookie做判断配置session的有效时间参数
if(!(isset($_COOKIE['keeplogin'])&&!$_COOKIE['keeplogin'])){//当设置不保存密码时不加载时间设置
$config['sess_expiration'] = 604800;
}
实现session动态设置时间,配合js的cookie操作。如果有其他思路欢迎留言!