迪丽热巴 發表於 2025-3-22 00:00:00

fastadmin后台登录后,闪一下,又要重新登陆的解决办法

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>原因分析</li><li>解决办法</li></ul></div><p>使用fastadmin的网站开启cdn后,就算开启不缓存的时候仍然无法登录到后台。后台登录后,闪一下(输入管理员帐号密码提示登录成功,在跳转后台首页时候提示要登录),又要重新登陆,也就是后台登录闪退是什么原因,怎么解决这个问题呢?</p><p><br/></p><p class="maodian"></p><h2>原因分析</h2><ul class=" list-paddingleft-2"><li>登录过程:登录成功后会判断管理员IP变动,直接退出登录。核心代码 application/admin/library/Auth.php</li></ul><pre class="brush:php;toolbar:false;">public&nbsp;function&nbsp;isLogin()
{
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($this-&gt;logined)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;true;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;$admin&nbsp;=&nbsp;Session::get(&#39;admin&#39;);
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!$admin)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;false;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;//判断是否同一时间同一账号只能在一个地方登录
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(Config::get(&#39;fastadmin.login_unique&#39;))&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$my&nbsp;=&nbsp;Admin::get($admin[&#39;id&#39;]);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!$my&nbsp;||&nbsp;$my[&#39;token&#39;]&nbsp;!=&nbsp;$admin[&#39;token&#39;])&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;logined&nbsp;=&nbsp;false;&nbsp;//重置登录状态
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Session::delete(&quot;admin&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cookie::delete(&quot;keeplogin&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;false;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;//判断管理员IP是否变动
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(Config::get(&#39;fastadmin.loginip_check&#39;))&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!isset($admin[&#39;loginip&#39;])&nbsp;||&nbsp;$admin[&#39;loginip&#39;]&nbsp;!=&nbsp;request()-&gt;ip())&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;logout();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;false;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;logined&nbsp;=&nbsp;true;
&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;true;
}</pre><p class="maodian"></p><h2>解决办法</h2><ul class=" list-paddingleft-2"><li><p>将&nbsp;application/config.php&nbsp;中&nbsp;loginip_check&nbsp;改为 false</p></li></ul><pre class="brush:php;toolbar:false;">&nbsp;&nbsp;&#39;http_agent_ip&#39;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt;&nbsp;&#39;REMOTE_ADDR&#39;,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//是否开启IP变动检测
&nbsp;&nbsp;&nbsp;&#39;loginip_check&#39;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt;&nbsp;true,</pre><p><br/></p><p><br/></p>
頁: [1]
查看完整版本: fastadmin后台登录后,闪一下,又要重新登陆的解决办法