Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
docpublic:systemes:ssocas:cas7install [2024/06/06 17:13]
adminjp [1er login test]
docpublic:systemes:ssocas:cas7install [2024/06/16 09:06] (current)
adminjp [Registering Applications]
Line 657: Line 657:
  
 <code> <code>
-[root@cas7d cas-overlay-template]# cp /opt/cas-src/cas-overlay-template/build/libs/cas.war /opt/tomcat/webapps/+[root@cas7 cas-overlay-template]# cp /opt/cas-src/cas-overlay-template/build/libs/cas.war /opt/tomcat/webapps/
  
-[root@cas7d cas-overlay-template]# systemctl start tomcat.service +[root@cas7 cas-overlay-template]# systemctl start tomcat.service 
  
 [root@cas7 cas-overlay-template]# ls -ltr /opt/tomcat/webapps/ [root@cas7 cas-overlay-template]# ls -ltr /opt/tomcat/webapps/
Line 763: Line 763:
  
 <code> <code>
-[root@cas6 ~]# cat /etc/httpd/conf.d/cas.conf +[root@cas7 ~]#  cat /etc/httpd/conf.d/cas7.conf  
-ProxyRequests off +#ProxyRequests off 
-ProxyPass /cas ajp://127.0.0.1:8009/idp retry=0 +ProxyPass /cas ajp://127.0.0.1:8009/cas 
-ProxyPassReverse /cas ajp://127.0.0.1:8009/idp+ProxyPassReverse /cas ajp://127.0.0.1:8009/cas
 ProxyPass /manager ajp://127.0.0.1:8009/manager ProxyPass /manager ajp://127.0.0.1:8009/manager
 ProxyPassReverse /manager ajp://127.0.0.1:8009/manager ProxyPassReverse /manager ajp://127.0.0.1:8009/manager
 +
 </code> </code>
  
Line 859: Line 860:
  
 ==== Registering Applications ==== ==== Registering Applications ====
 +
 +  * https://jasigcas.readthedocs.io/en/latest/cas-server-documentation/installation/JSON-Service-Management.html
 +
  
 les appplications clientes autorisées à utiliser notre serveur CAS doivent etre declarée au préalable . cela peut se faire au travers d'un simple fichier de type json .  les appplications clientes autorisées à utiliser notre serveur CAS doivent etre declarée au préalable . cela peut se faire au travers d'un simple fichier de type json . 
  
-nous déclarons dans cas.prpoerties le chemin d'acces a ce fichier json+nous déclarons dans cas.properties le chemin d'acces a ce fichier json
  
 <code> <code>
-[root@ssocas6 cas-overlay-template]# tail -etc/cas/config/cas.properties +[root@cas7 cas-overlay-template]# grep -b1 service etc/cas/config/cas.properties 
-### Registering Applications  +846-### Registering Applications  
-cas.serviceRegistry.json.location: file:/etc/cas/services+876:cas.serviceRegistry.json.location: file:/etc/cas/services
 </code> </code>
  
-Il est recommandé de nommer les nouveaux fichiers JSON comme ceci: "serviceName-serviceNumericId.json"+Il est recommandé de nommer les nouveaux fichiers JSON comme ceci: "serviceName-serviceNumericId.json", et de bien reprendre le nom serviceName dans l'attribut "name
  
 Pour créer l'ID nous utilisons la commande date +%s  Pour créer l'ID nous utilisons la commande date +%s 
  
 <code> <code>
-[root@ssocas6 cas-overlay-template]# mkdir /etc/cas/services +[root@cas7 cas-overlay-template]# mkdir /etc/cas/services 
-[root@ssocas6 cas-overlay-template]# cd /etc/cas/services +[root@cas7 cas-overlay-template]# cd /etc/cas/services 
-[root@ssocas6 services]# touch disi_wikis-`date +%s`.json           +[root@cas7 services]# touch disi_star_domain-`date +%s`.json           
-[root@ssocas6 services]# vim disi_wikis-1621678622.json +[root@cas7 services]# vim disi_star_domain-1718526946.json 
 </code> </code>
  
-on peux ensuite ajouter d'autres services (ici un 3eme cf logs CAS [1]) , le serveur CAS lit regulierement le directory /etc/cas/services pour les charger dynamiquement sans necessité de restart de tomcat/cas . +le contenu de la définition de services a autoriser, dans cet exemple RegEx sur tout un domain 
 + 
 +<code> 
 +[root@cas7 services]# cat disi_star_domain-1718526946.json  
 +
 +"@class" : "org.apereo.cas.services.CasRegisteredService", 
 +"serviceId" : "https://.*.domain.fr/.*", 
 +"name" : "disi_star_domain", 
 +"id" : 1718526946, 
 +"evaluationOrder" : 40616, 
 +"matchingStrategy":
 +   "@class": "org.apereo.cas.services.FullRegexRegisteredServiceMatchingStrategy" 
 +
 +"proxyPolicy" : { 
 +    "@class" : "org.apereo.cas.services.RegexMatchingRegisteredServiceProxyPolicy", 
 +    "pattern" : "https?:\/\/.*.domain.fr\/.*" 
 +  } 
 +  "attributeReleasePolicy" : { 
 +   "@class" : "org.apereo.cas.services.ReturnAllAttributeReleasePolicy" 
 + } 
 + 
 +
 +</code> 
 + 
 + 
 +on peut ensuite ajouter d'autres services (ici un 3eme cf logs CAS [1]) , le serveur CAS lit regulierement le directory /etc/cas/services pour les charger dynamiquement sans necessité de restart de tomcat/cas . 
  
 <code> <code>
Line 887: Line 916:
 [root@ssocas6 services]#cat dsi_ws_domain1-fr-1622207781.json [root@ssocas6 services]#cat dsi_ws_domain1-fr-1622207781.json
 { {
-"@class" : "org.apereo.cas.services.RegexRegisteredService",+"@class" : "org.apereo.cas.services.CasRegisteredService",
 "serviceId" : "^https://.*.domain1.fr/.*", "serviceId" : "^https://.*.domain1.fr/.*",
 "name" : "Dsi_ws-tem-tsp-eu", "name" : "Dsi_ws-tem-tsp-eu",
Line 899: Line 928:
 [1] [1]
 <code> <code>
-2021-05-28 14:18:03,506 INFO [org.apereo.cas.services.AbstractServicesManager] - <Loaded [3] service(s) from [JsonServiceRegistry].>+2024-06-16 10:56:43,076 INFO [org.apereo.cas.services.mgmt.AbstractServicesManager] - <Loaded [2] service(s) from [JsonServiceRegistry].> 
 </code> </code>
  
Line 961: Line 991:
   * https://fawnoos.com/2020/05/17/cas62x-reloadable-html-views/   * https://fawnoos.com/2020/05/17/cas62x-reloadable-html-views/
   * https://fawnoos.com/2021/02/16/cas63-ui-themes/   * https://fawnoos.com/2021/02/16/cas63-ui-themes/
 +  * https://apereo.github.io/cas/7.0.x/ux/User-Interface-Customization.html
  
  
-depuis 5.X on est passé de JSP a tymeleaf , on peux visualiser le resultat directmeent en html sans avoir besoin d'un serveur pour interpreter .+depuis 5.X on est passé de JSP a tymeleaf , on peut visualiser le resultat directement en html sans avoir besoin d'un serveur pour interpreter .
  
 pour personaliser des pages, il faut d'abord les extraires de l'overlay distribué afin de les mettres dans notre environement de personalisations locales pour personaliser des pages, il faut d'abord les extraires de l'overlay distribué afin de les mettres dans notre environement de personalisations locales
  
-pour ce faire nous allons utiliser la tache gradle listTemplateViews afin de lister l'ensembles des fichiers (css, html, png ..)  qui compose la view du formulaire : +pour ce faire nous allons utiliser la tache //gradle listTemplateViews// afin de lister l'ensemble des fichiers (css, html, png ..)  qui composent la view du formulaire : 
  
 <code> <code>
-[root@ssocas6 cas-overlay-template]# ./gradlew listTemplateViews | more +[root@cas7 cas-overlay-template]# ./gradlew listTemplateViews | more 
-Starting a Gradle Daemon (subsequent builds will be faster) +Starting a Gradle Daemon, 1 busy Daemon could not be reused, use --status for details 
-> Task :bootBuildInfo +Configuration on demand is an incubating feature. 
-> Task :generateLombokConfig UP-TO-DATE +> Task :generateEffectiveLombokConfig UP-TO-DATE 
-> Task :compileJava NO-SOURCE+> Task :compileJava UP-TO-DATE 
 +> Task :validateConfiguration NO-SOURCE
 > Task :processResources UP-TO-DATE > Task :processResources UP-TO-DATE
-> Task :classes+> Task :classes UP-TO-DATE
 > Task :extractCasBootWarOverlay UP-TO-DATE > Task :extractCasBootWarOverlay UP-TO-DATE
-> Task :bootWar+> Task :resolveMainClassName UP-TO-DATE 
 +> Task :bootWar UP-TO-DATE
 > Task :war SKIPPED > Task :war SKIPPED
-> Task :assemble+> Task :assemble UP-TO-DATE 
 +> Task :generateTestEffectiveLombokConfig UP-TO-DATE
 > Task :compileTestJava NO-SOURCE > Task :compileTestJava NO-SOURCE
 > Task :processTestResources NO-SOURCE > Task :processTestResources NO-SOURCE
Line 986: Line 1020:
 > Task :test NO-SOURCE > Task :test NO-SOURCE
 > Task :check UP-TO-DATE > Task :check UP-TO-DATE
-> Task :build+> Task :build UP-TO-DATE
  
-> Task :explodeWarOnly +> Task :unzipWAR 
-Exploded WAR into /opt/test-6.3-cas-overlay-template/cas-overlay-template/build/cas+Unzipped WAR into /opt/cas-src/cas-overlay-template/build/app
  
-> Task :explodeWar +> Task :unzip 
-Exploded WAR resources into /opt/test-6.3-cas-overlay-template/cas-overlay-template/build/cas-resources+Exploded WAR resources into /opt/cas-src/cas-overlay-template/build/cas-resources 
 + 
 +> Task :listTemplateViews 
 + 
 +BUILD SUCCESSFUL in 12s 
 +10 actionable tasks: executed, 7 up-to-date 
 +[root@cas7d cas-overlay-template]# ls /opt/cas-src/cas-overlay-template/build/cas-resources 
 +application.properties        git.properties          messages_de.properties  messages_it.properties  messages.properties        messages_sl.properties  messages_vi.properties     services 
 +application.yml               log4j2.xml              messages_es.properties  messages_ja.properties  messages_pt_BR.properties  messages_sv.properties  messages_zh_CN.properties  spring.properties 
 +bootstrap.properties          messages_ar.properties  messages_fa.properties  messages_mk.properties  messages_pt_PT.properties  messages_tr.properties  messages_zh_TW.properties  static 
 +bootstrap.yml                 messages_ca.properties  messages_fr.properties  messages_nl.properties  messages_ru.properties     messages_uk.properties  META-INF                   templates 
 +cas-theme-default.properties  messages_cs.properties  messages_hr.properties  messages_pl.properties  messages_sk.properties     messages_ur.properties  org                        truststore.jks 
 + 
 + 
 + 
 + 
 +</code> 
 + 
 + 
 +List des ressources / fichier modifiables 
 + 
 +<code> 
 +[root@cas7 cas-overlay-template]# ./gradlew listTemplateViews  
 +Configuration on demand is an incubating feature.
  
 > Task :listTemplateViews > Task :listTemplateViews
-/templates/casAcceptableUsagePolicyView.html +/templates/acct-mgmt/casAccountSignupView.html 
-/templates/casAccepttoRegistrationView.html +/templates/acct-mgmt/casAccountSignupViewComplete.html 
-/templates/casAccountDisabledView.html +/templates/acct-mgmt/casAccountSignupViewCompleted.html 
-/templates/casAccountLockedView.html +/templates/acct-mgmt/casAccountSignupViewSentInfo.html 
-/templates/casAdminLoginView.html +/templates/acct/casMyAccountProfile.html 
-/templates/casAuthenticationBlockedView.html +/templates/adaptive-authn/casRiskAuthenticationBlockedView.html 
-/templates/casAuthyLoginView.html +/templates/adaptive-authn/casRiskAuthenticationVerifiedView.html 
-/templates/casBadHoursView.html +/templates/admin/casAdminLoginView.html 
-/templates/casBadWorkstationView.html +/templates/aup/casAcceptableUsagePolicyView.html 
-/templates/casCompositeMfaProviderSelectionView.html +/templates/consent/casConsentView.html 
-/templates/casConfirmLogoutView.html +/templates/delegated-authn/casDelegatedAuthnErrorView.html 
-/templates/casConfirmView.html +/templates/delegated-authn/casDelegatedAuthnSelectionView.html 
-/templates/casConsentView.html +/templates/delegated-authn/casDelegatedAuthnStopWebflow.html 
-/templates/casDelegatedAuthnErrorView.html +/templates/delegated-authn/casDynamicDiscoveryView.html
-/templates/casDuoLoginView.html +
-/templates/casExpiredPassView.html +
-/templates/casForgotUsernameSendInfoView.html +
-/templates/casForgotUsernameSentInfoView.html +
-/templates/casGenericSuccessView.html +
-/templates/casGoogleAuthenticatorConfirmRegistrationView.html +
-/templates/casGoogleAuthenticatorLoginView.html +
-/templates/casGoogleAuthenticatorRegistrationView.html +
-/templates/casGuaDisplayUserGraphicsView.html +
-/templates/casGuaGetUserIdView.html +
-/templates/casInterruptView.html +
-/templates/casLoginMessageView.html +
-/templates/casLoginView.html +
-/templates/casLogoutView.html +
-/templates/casMfaDeniedView.html +
-/templates/casMfaRegisterDeviceView.html +
-/templates/casMfaUnavailableView.html +
-/templates/casMustChangePassView.html +
-/templates/casPac4jStopWebflow.html +
-/templates/casPasswordUpdateSuccessView.html +
-/templates/casPasswordlessDisplayView.html +
-/templates/casPasswordlessGetUserIdView.html +
-/templates/casPropagateLogoutView.html +
-/templates/casRadiusLoginView.html +
-/templates/casResetPasswordErrorView.html +
-/templates/casResetPasswordSendInstructionsView.html +
-/templates/casResetPasswordSentInstructionsView.html +
-/templates/casResetPasswordVerifyQuestionsView.html +
-/templates/casRiskAuthenticationBlockedView.html +
-/templates/casSamlIdPDiscoveryView.html +
-/templates/casServiceErrorView.html +
-/templates/casSimpleMfaLoginView.html +
-/templates/casSurrogateAuthnListView.html +
-/templates/casSwivelLoginView.html +
-/templates/casU2fLoginView.html +
-/templates/casU2fRegistrationView.html +
-/templates/casWebAuthnLoginView.html +
-/templates/casWebAuthnRegistrationView.html +
-/templates/casWsFedStopWebflow.html +
-/templates/casYubiKeyLoginView.html +
-/templates/casYubiKeyRegistrationView.html+
 /templates/error.html /templates/error.html
 +/templates/error/400.html
 /templates/error/401.html /templates/error/401.html
 /templates/error/403.html /templates/error/403.html
Line 1056: Line 1073:
 /templates/error/405.html /templates/error/405.html
 /templates/error/423.html /templates/error/423.html
-/templates/fragments/accepttoQRCode.html+/templates/error/casServiceErrorView.html 
 +/templates/error/casUnauthorizedServiceRedirectView.html 
 +/templates/error/casWebflowConfigErrorView.html 
 +/templates/forgot-username/casForgotUsernameSendInfoView.html 
 +/templates/forgot-username/casForgotUsernameSentInfoView.html 
 +/templates/fragments/accountprofileapplications.html 
 +/templates/fragments/accountprofileattributes.html 
 +/templates/fragments/accountprofileauditlog.html 
 +/templates/fragments/accountprofileconsent.html 
 +/templates/fragments/accountprofilemfadevices.html 
 +/templates/fragments/accountprofilenavigation.html 
 +/templates/fragments/accountprofileoverview.html 
 +/templates/fragments/accountprofilesecurityquestions.html 
 +/templates/fragments/accountprofilesessions.html 
 +/templates/fragments/accountprofiletrusteddevices.html
 /templates/fragments/footer.html /templates/fragments/footer.html
 +/templates/fragments/googleanalytics.html
 /templates/fragments/header.html /templates/fragments/header.html
 +/templates/fragments/includes.html
 /templates/fragments/loginProviders.html /templates/fragments/loginProviders.html
 +/templates/fragments/logindrawer.html
 /templates/fragments/loginform.html /templates/fragments/loginform.html
 /templates/fragments/loginsidebar.html /templates/fragments/loginsidebar.html
Line 1069: Line 1103:
 /templates/fragments/serviceui.html /templates/fragments/serviceui.html
 /templates/fragments/submitbutton.html /templates/fragments/submitbutton.html
 +/templates/fragments/unlockaccount.html
 /templates/fragments/webAuthnLogin.html /templates/fragments/webAuthnLogin.html
 +/templates/gauth/casGoogleAuthenticatorConfirmRegistrationView.html
 +/templates/gauth/casGoogleAuthenticatorLoginView.html
 +/templates/gauth/casGoogleAuthenticatorRegistrationView.html
 +/templates/gua/casGuaDisplayUserGraphicsView.html
 +/templates/gua/casGuaGetUserIdView.html
 +/templates/interrupt/casInterruptView.html
 +/templates/inwebo/casInweboCheckResultView.html
 +/templates/inwebo/casInweboErrorView.html
 +/templates/inwebo/casInweboMAAuthnView.html
 +/templates/inwebo/casInweboSelectAuthnView.html
 +/templates/inwebo/casInweboVAAuthnView.html
 /templates/layout.html /templates/layout.html
-/templates/protocol/2.0/casProxyFailureView.html +/templates/login-error/casAccountDisabledView.html 
-/templates/protocol/2.0/casProxySuccessView.html +/templates/login-error/casAccountLockedView.html 
-/templates/protocol/2.0/casServiceValidationFailure.html +/templates/login-error/casAccountUnlockedView.html 
-/templates/protocol/2.0/casServiceValidationSuccess.html +/templates/login-error/casAuthenticationBlockedView.html 
-/templates/protocol/3.0/casServiceValidationFailure.html +/templates/login-error/casBadHoursView.html 
-/templates/protocol/3.0/casServiceValidationSuccess.html+/templates/login-error/casBadWorkstationView.html 
 +/templates/login-error/casExpiredPassView.html 
 +/templates/login-error/casMustChangePassView.html 
 +/templates/login/casConfirmView.html 
 +/templates/login/casGenericSuccessView.html 
 +/templates/login/casLoginMessageView.html 
 +/templates/login/casLoginView.html 
 +/templates/logout/casConfirmLogoutView.html 
 +/templates/logout/casLogoutView.html 
 +/templates/logout/casPropagateLogoutView.html 
 +/templates/mfa-trusted-devices/casMfaRegisterDeviceView.html 
 +/templates/mfa/casCompositeMfaProviderSelectionView.html 
 +/templates/mfa/casMfaDeniedView.html 
 +/templates/mfa/casMfaUnavailableView.html 
 +/templates/password-reset/casPasswordUpdateSuccessView.html 
 +/templates/password-reset/casResetPasswordErrorView.html 
 +/templates/password-reset/casResetPasswordSendInstructionsView.html 
 +/templates/password-reset/casResetPasswordSentInstructionsView.html 
 +/templates/password-reset/casResetPasswordVerifyQuestionsView.html 
 +/templates/password-reset/casWeakPasswordDetectedView.html 
 +/templates/passwordless/casPasswordlessDisplayView.html 
 +/templates/passwordless/casPasswordlessGetUserIdView.html
 /templates/protocol/casPostResponseView.html /templates/protocol/casPostResponseView.html
 /templates/protocol/oauth/confirm.html /templates/protocol/oauth/confirm.html
Line 1083: Line 1150:
 /templates/protocol/oauth/sessionStaleMismatchError.html /templates/protocol/oauth/sessionStaleMismatchError.html
 /templates/protocol/oidc/confirm.html /templates/protocol/oidc/confirm.html
-/templates/protocol/openid/casOpenIdAssociationSuccessView.html +/templates/radius/casRadiusLoginView.html 
-/templates/protocol/openid/casOpenIdServiceFailureView.html +/templates/saml2-discovery/casSamlIdPDiscoveryView.html 
-/templates/protocol/openid/casOpenIdServiceSuccessView.html +/templates/saml2-idp/casSamlIdPErrorView.html 
-/templates/protocol/openid/user.html+/templates/simple-mfa/casSimpleMfaLoginView.html 
 +/templates/simple-mfa/casSimpleMfaSelectEmailsView.html 
 +/templates/storage/casSessionStorageReadView.html 
 +/templates/storage/casSessionStorageWriteView.html 
 +/templates/surrogate/casSurrogateAuthnListView.html 
 +/templates/surrogate/casSurrogateAuthnWildcardView.html 
 +/templates/webauthn/casWebAuthnLoginView.html 
 +/templates/webauthn/casWebAuthnRegistrationView.html 
 +/templates/wsfed/casWsFedStopWebflow.html 
 +/templates/yubikey/casYubiKeyLoginView.html 
 +/templates/yubikey/casYubiKeyRegistrationView.html 
 + 
 +BUILD SUCCESSFUL in 3s 
 +10 actionable tasks: 1 executed, 9 up-to-date
 </code> </code>
  
Line 1092: Line 1172:
  
 <code> <code>
-[root@ssocas6 cas-overlay-template]#  ./gradlew getResource -PresourceName=casLoginView.html+[root@cas7 cas-overlay-template]# ./gradlew getResource -PresourceName=casLoginView.html --no-daemon 
 +To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/8.8/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation. 
 +Daemon will be stopped at the end of the build  
 +Configuration on demand is an incubating feature. 
 + 
 +> Task :unzipWAR 
 +Unzipped WAR into /opt/cas-src/cas-overlay-template/build/app
  
 > Task :getResource > Task :getResource
-Copied file /opt/test-6.3-cas-overlay-template/cas-overlay-template/build/cas-resources/templates/casLoginView.html to src/main/resources/templates/casLoginView.html +Copied file /opt/cas-src/cas-overlay-template/build/cas-resources/templates/login/casLoginView.html to /opt/cas-src/cas-overlay-template/src/main/resources/templates/login/casLoginView.html 
-</code>+ 
 +BUILD SUCCESSFUL in 13s 
 +10 actionable tasks: 5 executed, 5 up-to-date 
 + 
 +[root@cas7 cas-overlay-template]# ls -l /opt/cas-src/cas-overlay-template/src/main/resources/templates/login/ 
 +-rw-r--r-- 1 root root 1955 Jun  6 19:34 casLoginView.html 
  
 on va egalement prendre header.html (extrait vers src/main/resources/templates/fragments/header.html) pour y changer le logo  on va egalement prendre header.html (extrait vers src/main/resources/templates/fragments/header.html) pour y changer le logo 
  
 <code> <code>
-[root@ssocas6 cas-overlay-template]# grep logo src/main/resources/templates/fragments/header.html +[root@cas7 cas-overlay-template]# ./gradlew getResource -PresourceName=header.html --no-daemon 
-                        <img class="cas-logo" +To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/8.8/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation. 
-                             th:src="@{${#strings.defaultString(#themes.code('cas.logo.file'), '/images/our-logo.png')}}" />+Daemon will be stopped at the end of the build  
 +Configuration on demand is an incubating feature. 
 + 
 +> Task :getResource 
 +Copied file /opt/cas-src/cas-overlay-template/build/cas-resources/templates/fragments/header.html to /opt/cas-src/cas-overlay-template/src/main/resources/templates/fragments/header.html 
 + 
 +BUILD SUCCESSFUL in 9s 
 +10 actionable tasks: 1 executed, 9 up-to-date 
 +[root@cas7d cas-overlay-template]# grep logo /opt/cas-src/cas-overlay-template/src/main/resources/templates/fragments/header.html 
 +                            <img id="cas-logo" class="cas-logo" 
 +                                 th:src="@{${#strings.defaultString(#themes.code('cas.logo.file'), '/images/cas-logo.png')}}" 
 + 
 </code> </code>
  
-on peux aussi extraire le cas.logo.png afin de disposer de l'arborescence locale depo des images et y copier notre fichier image / logo +on peut aussi extraire le cas.logo.png afin de disposer de l'arborescence locale depo des images et y copier notre fichier image / logo 
  
 <code> <code>
-[root@ssocas6 cas-overlay-template]# cp /root/our-logo.png src/main/resources/static/images/+[root@cas7 cas-overlay-template]# ./gradlew getResource -PresourceName=cas-logo.png --no-daemon 
 +> Task :getResource 
 +Copied file /opt/cas-src/cas-overlay-template/build/cas-resources/static/images/cas-logo.png to /opt/cas-src/cas-overlay-template/src/main/resources/static/images/cas-logo.png 
 </code> </code>
 +
 +il est possible de recuperer le logo depuis une autre version/machine et de le recopier dans les sources de cette version sous src/main/resources/static/images
 +
 +<code>
 +[root@cas6 resources]# scp static/images/logo_IMTBS-TSP_198x80.png root@cas7d.int-evry.fr:/opt/cas-src/cas-overlay-template/src/main/resources/static/images
 +root@cas7.domain.fr's password: 
 +logo_IMTBS-TSP_198x80.png  
 +</code>
 +
 +restera a appeler ce fichier dans le cas.css
 +
 +==== CSS ====
 +
 +pour les gouts et les couleurs, extraire et modifier //cas.css//
 +
 +<code>
 +[root@cas7 cas-overlay-template]# ./gradlew getResource -PresourceName=cas.css --no-daemon
 +To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/8.8/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation.
 +Daemon will be stopped at the end of the build 
 +Configuration on demand is an incubating feature.
 +
 +> Task :unzipWAR
 +Unzipped WAR into /opt/cas-src/cas-overlay-template/build/app
 +
 +> Task :getResource
 +Copied file /opt/cas-src/cas-overlay-template/build/cas-resources/static/css/cas.css to /opt/cas-src/cas-overlay-template/src/main/resources/static/css/cas.css
 +
 +BUILD SUCCESSFUL in 13s
 +10 actionable tasks: 5 executed, 5 up-to-date
 +
 +</code>
 +
 +on change par exemple le logo 
 +
 +<code>
 +[root@cas7 resources]# diff templates/fragments/header.html.dist templates/fragments/header.html
 +35c35
 +<                                  th:src="@{${#strings.defaultString(#themes.code('cas.logo.file'), '/images/cas-logo.png')}}"
 +---
 +>                                  th:src="@{${#strings.defaultString(#themes.code('cas.logo.file'), '/images/logo_IMTBS-TSP_198x80.png')}}"
 +</code>
 +
 +
 +
  
 enfin on redeploie le tout (il est possible de faire usage ./gradlew bootRun pour changer les views a chaud)  enfin on redeploie le tout (il est possible de faire usage ./gradlew bootRun pour changer les views a chaud) 
Line 1130: Line 1281:
  
  
-=== lie vers l'URL de changement de password ===+==== lien vers l'URL de changement de password ====
  
 il est definit via le password Manamegement link => fragment pmlink a extraire pour trouver le bon lienvers le messages.propeties a modifier  il est definit via le password Manamegement link => fragment pmlink a extraire pour trouver le bon lienvers le messages.propeties a modifier 
  
 <code> <code>
-#./gradlew getResource -PresourceName=pmlinks+[root@cas7 cas-overlay-template]# ./gradlew getResource -PresourceName=pmlinks --no-daemon 
 > Task :getResource > Task :getResource
-Copied file /opt/test-6.3-cas-overlay-template/cas-overlay-template/build/cas-resources/templates/fragments/pmlinks.html to src/main/resources/templates/fragments/pmlinks.html +Copied file /opt/cas-src/cas-overlay-template/build/cas-resources/templates/fragments/pmlinks.html to /opt/cas-src/cas-overlay-template/src/main/resources/templates/fragments/pmlinks.html
- +
-[root@ssocas6d cas-overlay-template]# grep pwd.example.org  src/main/resources/templates/fragments/pmlinks.html +
-            <span th:utext="#{screen.pm.button.forgotpwd('https://pwd.example.org')}">Forgot your password?</span> +
  
 </code> </code>
Line 1150: Line 1297:
 [root@ssocas6dev cas-overlay-template]# grep screen.pm.button.forgotpwd src/main/resources/messages_fr.properties [root@ssocas6dev cas-overlay-template]# grep screen.pm.button.forgotpwd src/main/resources/messages_fr.properties
 screen.pm.button.forgotpwd=<a href="https://credreset.domain.fr/">Mot de passe oublié ?</a> screen.pm.button.forgotpwd=<a href="https://credreset.domain.fr/">Mot de passe oublié ?</a>
-</code> 
- 
-=== CSS ===  
- 
-pour les gouts et les couleurs, cas.css 
- 
-<code> 
-./gradlew getResource -PresourceName=cas.css 
-> Task :getResource 
-Copied file /opt/test-6.3-cas-overlay-template/cas-overlay-template/build/cas-resources/static/css/cas.css to src/main/resources/static/css/cas.css 
 </code> </code>
  
docpublic/systemes/ssocas/cas7install.1717693984.txt.gz · Last modified: 2024/06/06 17:13 by adminjp
[unknown link type]Back to top
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0