他の CodeIgniter クラス ライブラリ、tank_auth と連携します。これは設定と使用が簡単で、現在は 1.0.9 であり、ほとんどのプロジェクトでこれを使用しています。だからみんなに勧めます。
Tankauth をインストールする手順
クラス ライブラリの最新バージョンをダウンロードします (ダウンロード アドレス: http://www.konyukhov.com/soft/tank_auth/tank_auth.zip)
ファイルを解凍します
アプリケーションの下にある対応するファイルをCIapplicationフォルダーにコピーします。
captcha フォルダーを CI フォルダー (プロジェクト ディレクトリ、アプリケーションと同じディレクトリ) にコピーし、そのディレクトリが Web サーバーの下で書き込み可能であることを確認します。
データベース (schema.sql ファイル) 構造を MySQL データベースにインストールします。
CI プロジェクトの下にある application/config/config.php ファイルを開き、$config['sess_use_database'] の値を TRUE に変更します。
インストールは完了です。
アクセス時に以下のエラーが発生した場合:
エラーが発生しました
Session クラスを使用するには、構成ファイルに暗号化キーを設定する必要があります。
このエラー メッセージにはキーが必要です。次に、config.php を開き、$config['encryption_key'] の後にキーを追加します。
TankAuth 公式ウェブサイトのアドレス: http://www.konyukhov.com/soft/tank_auth/
エラーが発生した場合は、設定ファイル (tank_auth.php と email.php) を確認することを忘れないでください。インストールが完了したら、サーバーの状態とニーズに応じて、クラス ライブラリは完全に動作するはずです。 、少し選択的に編集するのが最善です。
ヒント: デフォルトでは、ライブラリによって生成された強力なシステム固有のパスワード ハッシュ値は移植できません。つまり、ユーザー データベースを一度作成すると、他のデータベースにエクスポートしたりインポートしたりすることはできません。設定ファイル。
Tankauth クラス ライブラリの簡単な説明
クラス ライブラリは MVC モデルを使用します。これは、データベース関連のすべてのメソッドがモデル ファイルにカプセル化されていることを意味し、クラス ライブラリ自体がこれらのメソッドのインターフェイスとしても機能します。コントローラー (認証) は関連するリクエストを作成し、クラス ライブラリ内のメソッドを呼び出して、対応するビュー (ブラウザーに表示されるか電子メールで送信される) をレンダリングします。コントローラーには次のメソッドが含まれています:
ログイン: ユーザーは Web サイトにログインします。ログインが成功し、ユーザー アカウントがアクティブな場合、ユーザーはホームページにリダイレクトされます。アクティブ化されていない場合は、send_again が呼び出されます (以下を参照)。ログインが失敗した場合、ユーザーは同じページ (ログイン ページ) に残ります。
logout: ユーザーをログアウトします。
登録: Web サイトにユーザーを登録します。登録が成功すると、ユーザーアカウントが作成されます。構成ファイルの email_activation 項目の値が TRUE に設定されている場合、ユーザーは電子メールに送信された特別なリンクをクリックしてアカウントをアクティブ化する必要があります。そうでない場合、デフォルトでアクティブ化されます。注意: 登録後、ユーザーはログイン認証に合格していないため、引き続きログインする必要があります。
send_again: 同じまたは新しいメール アドレスにアクティベーション メールを再度送信します。このメソッドは、アクティブ ユーザーとしてログインするたびに呼び出されます。この機能は、メールボックスの問題やメールアドレスの間違いによりメールが届かない場合に非常に便利です。ユーザーは自分の電子メールを変更することも、同じままにすることもできます。
アクティブ化: ユーザーアカウントをアクティブ化します。通常、このメソッドは電子メール内のリンクをクリックすることでアクティブになります。 「パスワードを忘れた場合」をクリックしてメールアドレスを入力すると、アカウントをアクティブ化できます。ユーザーは、URL 内のユーザー ID と確認コードによって認証されます。
forgot_password: 特別なリセット コード (パスワード変更用) を生成し、ユーザーに送信します。明らかに、ユーザーはパスワードを忘れた場合にのみこの方法を使用します。
reset_password: 古い (忘れた) パスワードを新しい (ユーザーが設定した) パスワードに置き換えます。このメソッドは、電子メール内のリンクをクリックすると呼び出すことができます。ユーザーは、URL 内のユーザー ID と確認コードによって認証されます。
change_password: 「通常の」パスワード変更 (パスワードのリセットと比較)。ユーザーがログインしてアクティブ化されている場合にのみ呼び出すことができます。セキュリティを確保するには、ユーザーの秘密を検証する必要があります。
change_email: ユーザーの電子メールを変更します。ユーザーがログインしてアクティブ化されている場合にのみ呼び出すことができます。セキュリティを確保するには、ユーザーの秘密を検証する必要があります。この新しい電子メールは、この電子メールに送信されたリンクをクリックすることによってのみアクティブ化できます。
reset_email: 新しいメール アドレスをアクティブにして、新しいメール アドレスに置き換えます。このメソッドは、電子メール内のリンクをクリックすると呼び出すことができます。ユーザーは、URL 内のユーザー ID と確認コードによって認証されます。
登録解除: ユーザーアカウントを削除します。ユーザーがログインしてアクティブ化されている場合にのみ呼び出すことができます。セキュリティを確保するには、ユーザーの秘密を検証する必要があります。
認証コントローラーはユーザーのすべてのメソッド (ログインとログアウトを含む) を管理するため、必ずしもクラス ライブラリ内のメソッドを直接呼び出す必要はありません。ただし、次のように呼び出す必要があります:
is_logged_in: ユーザーが Web サイトにログインしているかどうかを検出します。
get_user_id: ユーザーがログインしている場合はユーザー ID を取得し、そうでない場合は FALSE を返します。
get_username: 認証されたユーザーのユーザー名を取得します。それ以外の場合は、FALSE を返します。ユーザー名が登録されていない場合、このメソッドを呼び出しても意味がありません (この時点ではどのユーザーも空の文字列を返します)。