CAS 5.2.x単一ログイン-サービス側とクライアントの構築
一、紹介
Single Sign On(Single Sign On)は、SSOと略称され、現在流行している企業ビジネス統合のソリューションの一つです.SSOの定義は,複数のアプリケーションシステムにおいて,ユーザが一度ログインするだけで相互信頼のあるすべてのアプリケーションシステムにアクセスできることである.
CASはオープンソースの企業レベルの単点登録システムであり、現在の最新バージョンは5.2である.x.CASには、CAS ServerとCAS Clientの2つのセクションがあります.これらのセクションは、独立して配置されています.CASクライアントは、認証されていないユーザ要求をブロックし、CASサービス側にリダイレクトし、CASサービス側がユーザのアイデンティティを統一的に認証する.
二、サービス側の構築
ローカル構築CASサービスについては、MavenとGradleに基づくOverlay構築方式が公式に提供されており、本稿ではCAS Maven WAR Overlayを使用します.
2.1 WAR Overlayとは?
Overlayテクノロジーでは、複数のプロジェクトwarを1つのプロジェクトに統合できます.プロジェクトに同じ名前のファイルがある場合、メインプロジェクトのファイルは他のプロジェクトの同じ名前のファイルを上書きします.
Overlayを用いてCASソースコードをコンパイルする必要がなく,CASソースコードへの侵入性改造も回避した.
2.2環境リスト JDK 1.8 Tomcat 8.0+ IntelliJ IDEA 2017.2
2.3 Overlay構築
CAS Maven WAR Overlayをダウンロードし、pomを修正します.xml、CASバージョン5.2.2を設定します.pomを取り除くことをお勧めします.xmlファイルのwrapper-maven-pluginと不要なprofile構成.
IDEAを初めて導入すると、バックグラウンドで公式casがダウンロードされていることがわかります.war.
プロジェクトoverlaysディレクトリの下のファイルはmavenがコンパイルしてから生成され、pom.xmlで公式casを構成する.warのファイルのファイルは除外できます.overlaysで生成しないでください.
Project Structureを開くと、このプロジェクトには2つのWeb Rootがあることがわかりますが、src/main/webappディレクトリは存在せず、手動で作成する必要があります.
overlaysディレクトリのアプリケーションをコピーします.propertiesプロファイルはresourcesディレクトリにあり、CAS WARの同名ファイルを上書きします.最終的なプロジェクトディレクトリ構造は次のとおりです.
工事のためにtomcat 8.0を配置して起動し、CAS 5.2に注意する.x tomcat 8.0未満のバージョンはサポートされていません.コンソール印刷READYが起動に成功したことを示している.
アクセスhttp://localhost:8080/cas/loginログイン画面に入ります.
このうち
2.4 Services構成
クライアントアクセスCASは、まずサービス側で登録する必要があります.そうしないと、クライアントアクセスによって「認証されていないサービス」の警告が表示されます.
サービス定義のためにresourcesフォルダの下にservicesフォルダを作成します.このディレクトリには、次のルールを満たす複数のJSONファイルを含めることができます.
Services/LOcalhost-10000003を作成します.jsonファイルは、すべてを許可することを意味します.http://localhost最初の資格認定リクエスト:
プロパティの説明は以下のとおりです.詳細は、公式ドキュメント-ServiceManagerを参照してください.@class:orgでなければなりません.apereo.cas.services.RegisteredServiceの実装クラス serviceId:1つまたは複数のURLアドレス に一致するサービスについて記述する式. name:サービス名 id:グローバル一意フラグ evaluationOrder:複数のサービスの実行順序を定義する 最後に、公式ドキュメント-service-registryに基づいて、アプリケーションを変更する必要があります.propertiesファイルは、CASサービス側にサービス定義ファイルをローカルからロードするように通知します.
起動時に次のログを印刷し、サービス登録に成功したことを示します.
三、クライアントの構築
CAS Javaクライアントのサンプル、cas-sample-java-webappは、公式ドキュメントに記載されています.pomを変更する.xml、tomcat 7-maven-plugin設定アクセスアドレスを
CAS Clientは、cas-sample-java-webappのwebに対して、ブロッキングによって認証されていない要求をCASサーバにリダイレクトする.xmlファイルを変更し、サービス側、クライアントアドレスを実際のテストのアドレスに置き換えます.
このとき
同じ方法で2番目のクライアントを構成し,アクセスアドレスは
これで、開発環境の構築が完了しました.クライアントはwebに対してのみであるため.xmlのフィルタを構成し、各ビジネスシステムに容易に統合できます.
転載は出典を明記してください.
Single Sign On(Single Sign On)は、SSOと略称され、現在流行している企業ビジネス統合のソリューションの一つです.SSOの定義は,複数のアプリケーションシステムにおいて,ユーザが一度ログインするだけで相互信頼のあるすべてのアプリケーションシステムにアクセスできることである.
CASはオープンソースの企業レベルの単点登録システムであり、現在の最新バージョンは5.2である.x.CASには、CAS ServerとCAS Clientの2つのセクションがあります.これらのセクションは、独立して配置されています.CASクライアントは、認証されていないユーザ要求をブロックし、CASサービス側にリダイレクトし、CASサービス側がユーザのアイデンティティを統一的に認証する.
二、サービス側の構築
ローカル構築CASサービスについては、MavenとGradleに基づくOverlay構築方式が公式に提供されており、本稿ではCAS Maven WAR Overlayを使用します.
2.1 WAR Overlayとは?
Overlayテクノロジーでは、複数のプロジェクトwarを1つのプロジェクトに統合できます.プロジェクトに同じ名前のファイルがある場合、メインプロジェクトのファイルは他のプロジェクトの同じ名前のファイルを上書きします.
Overlayを用いてCASソースコードをコンパイルする必要がなく,CASソースコードへの侵入性改造も回避した.
2.2環境リスト
2.3 Overlay構築
CAS Maven WAR Overlayをダウンロードし、pomを修正します.xml、CASバージョン5.2.2を設定します.pomを取り除くことをお勧めします.xmlファイルのwrapper-maven-pluginと不要なprofile構成.
5.2.2
IDEAを初めて導入すると、バックグラウンドで公式casがダウンロードされていることがわかります.war.
プロジェクトoverlaysディレクトリの下のファイルはmavenがコンパイルしてから生成され、pom.xmlで公式casを構成する.warのファイルのファイルは除外できます.overlaysで生成しないでください.
org.apache.maven.plugins
maven-war-plugin
2.6
cas
false
false
false
${manifestFileToUse}
org.apereo.cas
cas-server-webapp${app.server}
WEB-INF/classes/services/*
WEB-INF/classes/application.*
Project Structureを開くと、このプロジェクトには2つのWeb Rootがあることがわかりますが、src/main/webappディレクトリは存在せず、手動で作成する必要があります.
overlaysディレクトリのアプリケーションをコピーします.propertiesプロファイルはresourcesディレクトリにあり、CAS WARの同名ファイルを上書きします.最終的なプロジェクトディレクトリ構造は次のとおりです.
工事のためにtomcat 8.0を配置して起動し、CAS 5.2に注意する.x tomcat 8.0未満のバージョンはサポートされていません.コンソール印刷READYが起動に成功したことを示している.
アクセスhttp://localhost:8080/cas/loginログイン画面に入ります.
このうち
Non-secure Connection
はSSLの構成が必要であることを示し、Static Authentication
はユーザ構成の変更が必要であることを示し、JDBC、RESTなどに変更することができる.現在、ユーザーはアプリケーションで書き込みが死んでいます.propertiesプロファイルでは、ユーザー名はcasuser、パスワードはMellonです.##
# CAS Authentication Credentials
#
cas.authn.accept.users=casuser::Mellon
2.4 Services構成
クライアントアクセスCASは、まずサービス側で登録する必要があります.そうしないと、クライアントアクセスによって「認証されていないサービス」の警告が表示されます.
サービス定義のためにresourcesフォルダの下にservicesフォルダを作成します.このディレクトリには、次のルールを満たす複数のJSONファイルを含めることができます.
JSON fileName = serviceName + "-" + serviceNumericId + ".json"
Services/LOcalhost-10000003を作成します.jsonファイルは、すべてを許可することを意味します.http://localhost最初の資格認定リクエスト:
{
"@class": "org.apereo.cas.services.RegexRegisteredService",
"serviceId": "^(http)://localhost.*",
"name": " ",
"id": 10000003,
"description": " , localhost ",
"evaluationOrder": 1
}
プロパティの説明は以下のとおりです.詳細は、公式ドキュメント-ServiceManagerを参照してください.
# json , false
cas.serviceRegistry.initFromJson=true
# ,
#cas.serviceRegistry.watcherEnabled=true
#120
#cas.serviceRegistry.repeatInterval=120000
# 15
#cas.serviceRegistry.startDelay=15000
#
#cas.serviceRegistry.config.location=classpath:/services
起動時に次のログを印刷し、サービス登録に成功したことを示します.
2018-03-18 23:36:08,660 INFO [org.apereo.cas.services.AbstractServicesManager] -
2018-03-18 23:36:08,876 INFO [org.apereo.cas.config.CasServiceRegistryInitializationConfiguration] -
2018-03-18 23:36:08,877 WARN [org.apereo.cas.services.ServiceRegistryInitializer] -
2018-03-18 23:36:09,283 INFO [org.apereo.cas.services.AbstractServicesManager] -
三、クライアントの構築
CAS Javaクライアントのサンプル、cas-sample-java-webappは、公式ドキュメントに記載されています.pomを変更する.xml、tomcat 7-maven-plugin設定アクセスアドレスを
http://localhost:8181/node1
に変更します.
org.apache.tomcat.maven
tomcat7-maven-plugin
2.2
8181
UTF-8
tomcat7
/node1
CAS Clientは、cas-sample-java-webappのwebに対して、ブロッキングによって認証されていない要求をCASサーバにリダイレクトする.xmlファイルを変更し、サービス側、クライアントアドレスを実際のテストのアドレスに置き換えます.
CAS Single Sign Out Filter
org.jasig.cas.client.session.SingleSignOutFilter
casServerUrlPrefix
http://localhost:8080/cas
org.jasig.cas.client.session.SingleSignOutHttpSessionListener
CAS Authentication Filter
org.jasig.cas.client.authentication.AuthenticationFilter
casServerLoginUrl
http://localhost:8080/cas/login
serverName
http://localhost:8181/node1
CAS Validation Filter
org.jasig.cas.client.validation.Cas30ProxyReceivingTicketValidationFilter
casServerUrlPrefix
http://localhost:8080/cas
serverName
http://localhost:8181/node1
redirectAfterValidation
true
useSession
true
authn_method
mfa-duo
CAS HttpServletRequest Wrapper Filter
org.jasig.cas.client.util.HttpServletRequestWrapperFilter
CAS Single Sign Out Filter
/*
CAS Validation Filter
/*
CAS Authentication Filter
/*
CAS HttpServletRequest Wrapper Filter
/*
index.jsp
このとき
http://localhost:8181/node1
にアクセスするとhttp://localhost:8080/cas/login?service=http%3A%2F%2Flocalhost%3A8181%2Fnode1%2F
にジャンプしてユーザ情報を入力し、ログインに成功し、http://localhost:8181/node1/;jsessionid=6628138DCAAA5BA3481CD4C9238FEBFF
に戻る同じ方法で2番目のクライアントを構成し,アクセスアドレスは
http://localhost:8282/node2
であり,node 1ログインに成功した場合,ユーザパスワードを再入力することなくnode 2バックグラウンドページにアクセスできることが分かった.これで、開発環境の構築が完了しました.クライアントはwebに対してのみであるため.xmlのフィルタを構成し、各ビジネスシステムに容易に統合できます.
転載は出典を明記してください.