問題タブ [ion-auth]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - CodeIgniter 2、プロファイルの編集時に Ion Auth が CSRF エラー メッセージを表示する
CodeIgniter バージョン 2.1.4 とIon Authをかなり長い間使用してきましたが、すべてうまく機能していました。昨日、Ion Auth を最新バージョンに更新しましたが、ユーザー プロファイルを「編集」しようとすると CSRF エラーが発生します。
「このフォーム投稿はセキュリティ チェックに合格しませんでした。」
controllers/auth.php
さまざまな Ion Auth ビューが独自のテンプレートに読み込まれるようにファイルを変更すると、このエラーが発生します。結局のところ、これを自分のサイト デザインに統合できなければ、これが何の役にも立ちません。 ただしauth.php
、コントローラーがまったく変更されていない場合でも、古いバージョンの Safari でもこのエラーが発生します。
これは、auth.php
コントローラ ファイルに対する単純な変更です。
この行を置き換えました:
この行で:
はい、私のload
関数 ( にあるTemplate.php
ファイル内/libraries/
) は最初から (何ヶ月も前) 正常に動作しています。Ion Auth の新しいバージョンでも、テンプレートの読み込み機能は動作しています... しかし、上記のようにセキュリティ エラーが発生し続けます。
いくつかの調査を行った後、エラーの原因は Ion Auth の CSRF セキュリティ ルーチンです。これら 2 つの関数はコントローラ全体で呼び出され、関数が を返すauth.php
たびに上記のエラーを表示します。_valid_csrf_nonce()
false
一時的な (または恒久的な?) 回避策として、CodeIgniterconfig/config.php
ファイルの 298 行目で「CSRF 保護」オプションを有効にしました。
true
次に、常に関数から戻ることで、Ion Auth の CSRF 保護を抑制しました。
ただし、ここで根本的な原因を理解したいと思います。古いブラウザを使用したり、独自のテンプレート内に Ion Auth ビューを配置しようとしたりするだけで、これらすべての CSRF エラーが発生するのはなぜですか? すべてが同じドメインを使用する同じサーバー上にあります。
(編集: はい、CIsession
ライブラリは自動ロードされており、明らかに正常に動作しています。結局のところ、ログインしたままにすることができます。)
php - リダイレクトのためにイオン認証でグループ名を取得する
私は codeigniter の初心者で、アカデミック、バーサー、ヘッドマスター、ディレクターなどの複数のユーザーでこのシステムに取り組んでいます。これは私がこれまでに行ったことです
このエラー メッセージが表示されます: 非オブジェクトのプロパティを取得しようとしています
また、しようとしています
未定義のインデックス 'name' につながります
session - Ion Auth - 同時ログインの防止
認証ライブラリとして Ion-Auth を使用した CI アプリケーションがあります。セッションを保存するためにデータベースを使用しました。これまでのところ、すべて正常に動作しています。現在、デフォルトで Ion Auth は、異なる場所からの同じユーザーの同時ログインを許可しています。これを防ぎたい。クライアントによると、ログインは 1 回だけ許可する必要があります。
- (ログアウトを押してブラウザを閉じることなく)放棄されたセッションを考慮して、これを達成することは可能ですか?
- 上記 (1) の問題を達成するのが複雑な場合、ユーザーが現在ログインしているかどうか、またはセッションがアクティブかどうかを簡単に確認できますか。既存の logged_in メソッドは、入力パラメータを取りません。なのでこの方法は使えません。すでに利用可能なライブラリで解決策が可能であると想定しており、これを達成するために追加のフィールド/コードを追加する必要はありません。ありがとう。
codeigniter - CodeIgniter の Ion Auth で独自のログインフォームを作成するには?
サイトの管理領域を保護するために Ion Auth を使用しようとしています。
Ion Auth をインストールしました (テーブルの追加、ファイルのコピー)。
次のようなファイル application/system/core/MY_Controller.php を追加しました。
管理領域のすべてのコントローラーで、次のように CI_Controller を Admin_Controller に変更しました。
現在、レイアウト ビューでラップされた独自のログイン フォームを作成する方法を理解しようとしています。
やり方がわかりません。「auth/login」コントローラービューでは、奇妙な方法でロードされます:
ビューをロードする方法と互換性のあるログインフォームを作成するのを手伝ってくれる人はいますか?
私はその方法を意味します:
codeigniter - Code Igniter Ion Auth: メール テンプレートはどこにありますか?
Code Igniter と Ion Auth の両方を初めて使用しています。Ion Auth メール テンプレートの言語を変更したい (パスワードのリセット、メールの確認など)。
これはパスワード リセット メール テンプレート (forgot_password.tpl.php) のようですが、「email_forgot_password_subheading」や「email_forgot_password_heading」などの定義がどこにあるのかわかりません。ローカル インストールを Windows で検索しても、結果が表示されません。手伝ってくれますか?
php - コントローラーとモデル間でのデータの移動 - Codeigniter のベスト プラクティス
簡単な質問で申し訳ありませんが、Ion-Auth と Codeigniter を使用して、ログインしているユーザーとログインしていないユーザーを区別しているとしましょう。
そして、ユーザーの ID をそのままキャプチャする単純なカスタム コントローラーがあります。
次に、通常のコントローラーのいずれかを使用して、ログインしているユーザーではなく、ログインしているユーザー向けのページを吐き出したい...
私の質問は、モデルに uid を渡すにはどうすればよいですか? 一部のモデルは、関数を呼び出さないデフォルトの CI コントローラーによって呼び出されます$this->ion_auth->get_user_id();
。これらのデフォルト コントローラに移動してモデルに uid を渡す必要があります$this->ion_auth->get_user_id();
か、それともモデル内で関数を直接呼び出す必要がありますか?
混乱を招いて申し訳ありません。user_id を必要とする、または必要としないコントローラーとモデルの混乱があり、それぞれをハードコードする必要がないようにしています。
php - 認証フォルダー外の CodeIgniter Ion 認証ページ
私はCodeIgniter Ion Authを初めて使用します.authフォルダーの外にページを追加できるかどうか疑問に思っていましたか? ユーザーがログインしている場合にのみ、ページにアクセスできます。認証フォルダーの外にあるページが必要だった主な理由は、URL の「認証」を取り除きたいからです。どんな助けでも大歓迎です。ちなみに、authフォルダ内にページを追加するだけにしてみました。ありがとう!