常见问题
优质
小牛编辑
139浏览
2023-12-01
如何通过微信接收工单提醒和社区通知消息?
请关注FastAdmin官方公众号:FastAdmin极速后台
,关注以后点击我的
->会员中心
->登录
->使用微信登录并进行绑定你在FastAdmin官网的账号即可。请扫以下二维码进行关注:
如何解决官方演示站iframe窗口内无法登录的问题?
从Chrome浏览器80版本开始,已经默认设置了SameSite
为Lax
,由于官方演示页面嵌套的iframe,会导致iframe内的cookie
无法生效。
关闭SameSite的说明可以参考:http://www.ruanyifeng.com/blog/2019/09/cookie-samesite.html
由于ThinkPHP5中的Session.php
这个类在session_start()
之前未设置session.cookie_path
,如下:
可以看到session_start()
之前没有进行session.cookie_path
的设置,因此需要我们需要通过行为来调用ini_set
进行设置。
首先我们需要修改application/config.php
中的path
和secure
,来设置全局cookie
的path
和secure
,来添加SameSite
'cookie' => [
// cookie 名称前缀
'prefix' => 'fa',
// cookie 保存时间
'expire' => 0,
// cookie 保存路径
'path' => '/; samesite=None',
// cookie 有效域名
'domain' => '',
// cookie 启用安全传输
'secure' => true,
// httponly设置
'httponly' => false,
// 是否使用 setcookie
'setcookie' => true,
],
然后打开application/tags.php
,修改app_init
,增加一行'app\\common\\behavior\\Common'
,修改后如下:
<?php
// 应用行为扩展定义文件
return [
// 应用初始化
'app_init' => [
'app\\common\\behavior\\Common',
],
// 应用开始
'app_begin' => [],
// 应用调度
'app_dispatch' => [
'app\\common\\behavior\\Common',
],
// 模块初始化
'module_init' => [
'app\\common\\behavior\\Common',
],
// 插件开始
'addon_begin' => [
'app\\common\\behavior\\Common',
],
// 操作开始执行
'action_begin' => [],
// 视图内容过滤
'view_filter' => [],
// 日志写入
'log_write' => [],
// 应用结束
'app_end' => [],
];
最后打开application/common/behavior/Common.php
,添加一个appInit
的方法,如下:
public function appInit(){
ini_set('session.cookie_path', '/; SameSite=None');
ini_set('session.cookie_secure', true);
}