3

大学の CAS 認証システムをサポートする必要があります。これは Apache2 で mod_auth_cas を使用すると簡単で、正常に動作しています。

次に、大学以外のユーザーをシステムに追加する必要があります。これは事実上、2 つのログイン システムをサポートする必要があることを意味します。2 番目のログイン システムは、PHP への POST 経由でユーザーを認証するだけの独自のカスタム フレーバーです。

これはセットアップするのが不可能な環境のようです。任意のヒント?

4

1 に答える 1

1

解決策はphpCASであることが判明しました。

通常の mod_auth_cas を使用すると、オプションで無効にする方法がなく、CAS の背後にある場所全体を投獄しています。

phpCAS を使用すると、オプションで php ファイルで認証を実行できます。

私のすべてのphpファイルはajax POST GETリクエストを介して通信されるため、ログインしていない場合にこれらのファイルへのアクセスを防ぎ、リダイレクトを引き起こすためにログインメカニズムが必要でした。PHP の $_SESSION 変数を使用して、ログインが行われて成功したかどうかを保存できます。アクセスごとに $_SESSION 変数をチェックし、JSON メッセージを JavaScript クライアントにプッシュして失敗を通知し、リダイレクトした後、すぐに終了できます。

ユーザーがログインを試みると、CAS ルートを選択できます。phpCASを使用すると、それらをCASサーバーに適切にリダイレクトし、終了するとアプリに戻ります。社内のログイン データベースを選択した場合は、自作のログイン システムと同じように簡単なフォームに入力します。どちらの場合も、$_SESSION は成功を格納し、その成功は重要な PHP ファイルへのアクセス時にチ​​ェックおよび検証されます。

検証およびチェックされているため、CAS の有効期限が切れているかどうかをここで確認します。インハウス ログイン システムは、PHP セッションとインラインで期限切れになります。

于 2012-05-30T05:22:25.163 に答える