1

少し頭を悩ませた後、自分のサイトで Tank Auth が問題なく機能するようになりました。ただし、コントローラー内の関数を介してすべての作業を行うため、、 などのauthパスが表示されます。site.com/auth/loginsite.com/auth/register

ユーザーにドメイン ルート ( ) 以外を表示することなく、ログインおよび登録/アクティベーションに関連するすべての機能を処理できるようにしたいと考えてwww.site.comいます。これを行う最良の方法は何ですか?

authコントローラーをデフォルトのコントローラーとして設定した場合でも、インデックス関数のみを実行し (もちろん)、/auth/login/とにかくリダイレ​​クトします。

私はCIに慣れていないので、私が知らない簡単な方法があるかもしれないことに注意してください。

使用している CI のバージョンを正確に思い出せませんが、ダウンロードしてから 2 週間も経っていないので、かなり最新です。タンク認証と同じ。

アップデート:

routes.php少なくとも/authURL の一部が存在しないように、ファイルにエントリを追加します。

$route['login'] = '/auth/login';
$route['register'] = '/auth/register';
$route['forgot_password'] = '/auth/forgot_password';
$route['reset_password/(:any)/(:any)'] = '/auth/reset_password';
$route['activate/(:any)/(:any)'] = '/auth/activate';
$route['reset_email/(:any)/(:any)'] = '/auth/reset_email';

すべてのビュー/メール/リンクは正常に機能しますが、アクションに関連付けられたメッセージを取得できなくなりました。たとえば、パスワードのリセットを要求する場合、メールを入力した後、通常、メールを確認するようにというメッセージが表示されます。または、登録すると、電子メールでアクティブ化する必要があるというメッセージが表示されます...など。これらのメッセージが届かない理由がよくわかりません。

4

1 に答える 1

1

投稿された質問の更新に記載されているようにルートを設定すると、元の質問に対する許容できる解決策が得られましたが、メッセージが見つからないという問題が発生しました(これも言及されています)。これは、次のサーバー要求の後にクリアされるセッション フラッシュデータとしてメッセージが設定されていることが原因であることがわかりました。再ルーティングにより、フラッシュデータがクリアされている必要があります。

メッセージをフラッシュデータではなく通常のセッションユーザーデータとして設定し、表示後に手動でクリアすることで、これを回避しました。

これは許容できる解決策のようです。

于 2013-02-24T20:20:35.440 に答える