ユーザーとの作業に codeigniter tank auth ライブラリを使用していますが、うまく機能しています。コントローラーにアクセスしようとするたびに、関数はユーザーが次のようにログインしているかどうかを確認します。
if($this->tank_auth->is_logged_in()) {
ログに記録されている場合はモデルを読み込みますが、ログに記録されていない場合はログイン ページにリダイレクトします。このように 1 か月間動作していましたが、今はアプリケーションを拡張し、同じ手法を使用する他のコントローラーを構築していますが、ファイルは他のフォルダーにあります。以前の動作中のアプリケーションは引き続き正常に動作しますが、このアプリでは新しいフォルダーから (基本的にはそのアプリケーションの新しいモジュールであり、同じログイン ページを使用しますが、モジュールのユーザー選択に応じてリダイレクトが異なります)、正しくログインできます。コントローラーへのリクエストは問題ありませんが、ある時点で、ユーザーがログインしていないことがわかります。セッションの期限切れなどではありません。今、1 つのリクエストを作成し、セッションを延長し、次のリクエストを 3 秒で延長しているようです。間隔はユーザーをログアウトさせます...私は' 新しいコントローラーで何も変わったことはありませんが、しばらくすると、5 分かかることもあれば、15 分かかることもあり、ログアウトします...理由がわかりません。私はセッションを他に使用しません...
これが何であるか知っている人はいますか?または何か提案はありますか?リクエストがあれば、詳細をお知らせします。
どうもありがとうございました。
編集: 新しいモジュールは、同じ Codeigniter インストール内のより多くのコントローラーで構成され、同じ CI 構成、同じタンク認証ライブラリで動作し、関数は次のようにメインの要求コントローラーにコピーされます。
class Requests extends Controller
{
function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url'));
$this->load->helper('date');
$this->load->library('form_validation');
$this->load->library('tank_auth');
}
..............
more functions
..............
function getServices() { /// One of the functions that the new module uses
if (!$this->tank_auth->is_logged_in()) {
return;
} else {
$this->load->model('requests/getServices');
$data['tid'] = $_POST['tid'];
$this->getServices->showData($data);
}
}