CAS SSO シングルサインオン - CASサーバー 5.3ビルド
前回のブログでCAS4.0サーバの構築プロセスを説明しましたが、今回のブログではCAS5.3サーバの構築プロセスと言いましたが、なぜCAS5.3の構築プロセスかというと、上記のCAS4.2からのコードはいくつかのフレームワークの最適化を行うため、多くの設定のバージョンがxmlファイルに書かれている4.2以下だからです。4.2以降では、cas.propertiesやapplication.propertiesファイルに統一され、httpsの廃止に伴い、方法が変更されました。
I. CAS 5.3 のダウンロード
CAS5.3 Server cas-overlay-templateのバージョンをダウンロードします。
ダウンロードのアドレスです。
https://github.com/apereo/cas-overlay-template
URLを開き、左上のBranch masterをクリックしてダウンロードするバージョンを選択します。ここでは、最新版をダウンロードします。
II. CAS 5.3のコンパイル
CAS 4.0以降はリリース版が提供されなくなったので、自分でコンパイルする必要があります。ダウンロードしたzipパッケージをディレクトリ下に置き、cmdで入力し、公式ドキュメントのコンパイル方法に従って、次のようにコンパイルします。
cmdで、"build.cmd run"を実行し、ファイルをコンパイルし、コンパイル時間は比較的高くなり、コンパイルが完了した後、それは次のように、ディレクトリ内のターゲットフォルダが生成されます。
ターゲットフォルダに移動すると、以下のように拡張子が.warのファイルが表示されます。
III. CAS 5.3のインストールとデプロイメント
手順2で生成した .war ファイルを webapps ディレクトリにコピーし、tomcat を起動すると、 自動的に解凍されます。解凍が完了したら、ブラウザで
http://192.168.1.121:8080/cas/login
以下のような画像が表示されます。
上の画像が表示されるのは、インストールに成功したことを意味します。
IV. HTTPSの削除
(1) WEB-INF/classess/application.properties を開き、最下部に以下のコードを追加します。
cas.tgc.secure=false
cas.serviceRegistry.initFromJson=trueとする。
追加完了後、下図のようになります。
(2) WEB-INF/classess/services/HTTPSandIMAPS-10000001.json を、以下のように開きます。
以下の画像に修正しました。
グラフのproxyPolicyノードを追加しない場合、常に以下のようなエラーが報告されます。
質問:理由を知りたい人がいたら教えてください。
これでCASサーバー5.3の設定は完了です。
V. CAS 5.3 テスト
(1) まず、ブラウザからのアクセス
http://192.168.1.121:8080/cas/login
を入力し、アカウント番号、パスワード(casuser/Mellon)を入力し、以下のように操作してください。
(2). 以下のようにCas Netクライアントを起動します。
(3) 左上の "Authenticated Users Only" をクリックして認証センターに飛び、認証センターでアカウントとパスワードを入力し、[Login]をクリックしてログインに成功し、次のようにクライアントページに調整します。
(4) 左上の "Home"をクリックすると、メインページに戻り、以下のように認証情報が表示されます。
これで、Casサーバー5.3のビルドは完了です。
VI. プロセスで誰もが遭遇する問題
クライアントを起動し、認証センターにジャンプし、ログインに成功した後、以下のように、認証時に必ず "INVALID_PROXY_CALLBACK"を返し、提供されたプロキシコールバックURLは認証を提供できないことがあります。
WEB-INF/classes/services/HTTPSandIMAPS-10000001.jsonを修正し、以下のようにproxyPolicyノードを追加することで、解決することができました。
参考文献
1.
https://stackoverflow.com/questions/34119307/the-supplied-service-localhost-is-not-authorized-to-use-cas-proxy-authentication
2.
https://blog.csdn.net/zzq900503/article/details/54910609
3.
https://www.cnblogs.com/xiaojf/p/6617693.html
4.
https://apereo.github.io/cas/5.3.x/installation/Configuration-Properties.html#global-sso-behavior
個人WeChat公開番号、フォローを歓迎します。
関連
-
コンパイラーエラー 期待されるunqualified-id
-
ミッシングリンク ライブラリ エラー: ld: アーキテクチャ x86_64 のシンボルが見つかりません。
-
エラー概要】IndexError: シングルポジションインデクサーはアウトオブバウンズです。
-
nullのプロパティ'length'を読み取れないエラーの解決法
-
SprinBootプロジェクト起動エラー スレッド "main "で例外 java.lang.reflect.InvocationTargetException
-
gulp build exception タスク関数を指定する必要があります。
-
VSCodeコンフィグレーションc++環境(ホワイトチュートリアル)
-
VLOOKUP関数で#N/Aエラーが発生する4つのケース(解決策付き)
-
eclipseを起動するとエラーが発生しました。
-
Ubuntu 18.04 NVIDIAドライバインストール概要
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
IndexError: シングルポジションインデクサがアウトオブバウンズで解決済み
-
numpy.linalg.LinAlgError: 特異行列の問題は解決されました
-
NVM使用後、npm:command not foundエラーが発生する。
-
git everything up-to-date ワークアラウンド
-
MACでngrokを使用し、イントラネットの浸透を実施する。
-
ImportError: Imageという名前のモジュールはありません IOError: decoder zip not available
-
npm install で npm ERR! cb() never called!
-
SSH が表示される ホスト xxx の認証が確立できない。
-
微量元素 - 質問に答える
-
Android studio:URIが登録されていない場合の対処法