CAS Version: 6.2.0-SNAPSHOT

Following the directions at:  
https://apereo.github.io/cas/6.1.x/ux/User-Interface-Customization-Themes.html

File:  /etc/cas/cas.properties
...
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.cache=false
spring.thymeleaf.prefix=file:///etc/cas/templates
cas.view.templatePrefixes=file:///etc/cas/templates <file:///etc/cas/templates>
…

Directory:   /etc/cas/templates/foo/…

File:  /etc/cas/templates/foo.properties:
cas.standard.css.file=/theme/foo/css/cas.css
cas.javascript.file=/theme/foo/js/cas.js
cas.admin.css.file=/theme/foo/css/admin.css

Error:  

2020-05-11 00:03:46,453 ERROR [org.thymeleaf.TemplateEngine] - 
<[THYMELEAF][https-openssl-nio-8443-exec-3] Exception processing template 
"casLoginView": Error resolving template [casLoginView], template might not 
exist or might not be accessible by any of the configured Template Resolvers>
org.thymeleaf.exceptions.TemplateInputException: Error resolving template 
[casLoginView], template might not exist or might not be accessible by any of 
the configured Template Resolvers
        at 
org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869) 
~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
        at 
org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607) 
~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
        at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1098) 
~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
        at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1072) 
~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]


If I change the value in cas.properties to:
...
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.cache=false
#spring.thymeleaf.prefix=file:///etc/cas/templates <file:///etc/cas/templates>. 
# <<=== Yes, I commented this out
cas.view.templatePrefixes=file:///etc/cas/templates <file:///etc/cas/templates>
…

I get the error:

2020-05-11 02:43:04,246 WARN 
[org.apereo.cas.services.web.RegisteredServiceThemeResolver] - <Custom theme 
[foo] for service [AbstractRegisteredService(serviceId=^(http|https)://.*, 
name=HTTP and HTTPS, theme=foo, informationUrl=null, privacyUrl=null, 
responseType=null, id=10000001, description=This service definition authorizes 
all application urls that support HTTPS and IMAPS protocols., 
expirationPolicy=DefaultRegisteredServiceExpirationPolicy(deleteWhenExpired=false,
 notifyWhenDeleted=false, notifyWhenExpired=false, expirationDate=null), 
acceptableUsagePolicy=DefaultRegisteredServiceAcceptableUsagePolicy(enabled=true,
 messageCode=null, text=null), 
proxyPolicy=org.apereo.cas.services.RefuseRegisteredServiceProxyPolicy@1, 
proxyTicketExpirationPolicy=null, proxyGrantingTicketExpirationPolicy=null, 
serviceTicketExpirationPolicy=null, singleSignOnParticipationPolicy=null, 
evaluationOrder=10000, 
usernameAttributeProvider=org.apereo.cas.services.DefaultRegisteredServiceUsernameProvider@87297e2,
 logoutType=BACK_CHANNEL, environments=[], 
attributeReleasePolicy=ReturnAllowedAttributeReleasePolicy(super=AbstractRegisteredServiceAttributeReleasePolicy(attributeFilter=null,
 principalAttributesRepository=DefaultPrincipalAttributesRepository(), 
consentPolicy=DefaultRegisteredServiceConsentPolicy(enabled=true, 
excludedAttributes=null, includeOnlyAttributes=null, order=0), 
authorizedToReleaseCredentialPassword=false, 
authorizedToReleaseProxyGrantingTicket=false, excludeDefaultAttributes=false, 
authorizedToReleaseAuthenticationAttributes=true, principalIdAttribute=null, 
order=0), allowedAttributes=[]), 
multifactorPolicy=DefaultRegisteredServiceMultifactorPolicy(multifactorAuthenticationProviders=[],
 failureMode=UNDEFINED, principalAttributeNameTrigger=null, 
principalAttributeValueToMatch=null, bypassEnabled=false, forceExecution=false, 
bypassTrustedDeviceEnabled=false, bypassPrincipalAttributeName=null, 
bypassPrincipalAttributeValue=null, script=null), logo=null, logoutUrl=null, 
redirectUrl=null, 
accessStrategy=DefaultRegisteredServiceAccessStrategy(order=0, enabled=true, 
ssoEnabled=true, unauthorizedRedirectUrl=null, 
delegatedAuthenticationPolicy=DefaultRegisteredServiceDelegatedAuthenticationPolicy(allowedProviders=[],
 permitUndefined=true, exclusive=false), requireAllAttributes=true, 
requiredAttributes={}, rejectedAttributes={}, caseInsensitive=false), 
publicKey=null, 
authenticationPolicy=DefaultRegisteredServiceAuthenticationPolicy(requiredAuthenticationHandlers=[],
 criteria=null), properties={}, contacts=[])] cannot be located. Falling back 
to default theme...>
2020-05-11 02:43:04,391 WARN 
[org.apereo.cas.services.web.RegisteredServiceThemeResolver] - <Custom theme 
[foo] for service [AbstractRegisteredService(serviceId=^(http|https)://.*, 
name=HTTP and HTTPS, theme=foo, informationUrl=null, privacyUrl=null, 
responseType=null, id=10000001, description=This service definition authorizes 
all application urls that support HTTPS and IMAPS protocols., 
expirationPolicy=DefaultRegisteredServiceExpirationPolicy(deleteWhenExpired=false,
 notifyWhenDeleted=false, notifyWhenExpired=false, expirationDate=null), 
acceptableUsagePolicy=DefaultRegisteredServiceAcceptableUsagePolicy(enabled=true,
 messageCode=null, text=null), 
proxyPolicy=org.apereo.cas.services.RefuseRegisteredServiceProxyPolicy@1, 
proxyTicketExpirationPolicy=null, proxyGrantingTicketExpirationPolicy=null, 
serviceTicketExpirationPolicy=null, singleSignOnParticipationPolicy=null, 
evaluationOrder=10000, 
usernameAttributeProvider=org.apereo.cas.services.DefaultRegisteredServiceUsernameProvider@87297e2,
 logoutType=BACK_CHANNEL, environments=[], 
attributeReleasePolicy=ReturnAllowedAttributeReleasePolicy(super=AbstractRegisteredServiceAttributeReleasePolicy(attributeFilter=null,
 principalAttributesRepository=DefaultPrincipalAttributesRepository(), 
consentPolicy=DefaultRegisteredServiceConsentPolicy(enabled=true, 
excludedAttributes=null, includeOnlyAttributes=null, order=0), 
authorizedToReleaseCredentialPassword=false, 
authorizedToReleaseProxyGrantingTicket=false, excludeDefaultAttributes=false, 
authorizedToReleaseAuthenticationAttributes=true, principalIdAttribute=null, 
order=0), allowedAttributes=[]), 
multifactorPolicy=DefaultRegisteredServiceMultifactorPolicy(multifactorAuthenticationProviders=[],
 failureMode=UNDEFINED, principalAttributeNameTrigger=null, 
principalAttributeValueToMatch=null, bypassEnabled=false, forceExecution=false, 
bypassTrustedDeviceEnabled=false, bypassPrincipalAttributeName=null, 
bypassPrincipalAttributeValue=null, script=null), logo=null, logoutUrl=null, 
redirectUrl=null, 
accessStrategy=DefaultRegisteredServiceAccessStrategy(order=0, enabled=true, 
ssoEnabled=true, unauthorizedRedirectUrl=null, 
delegatedAuthenticationPolicy=DefaultRegisteredServiceDelegatedAuthenticationPolicy(allowedProviders=[],
 permitUndefined=true, exclusive=false), requireAllAttributes=true, 
requiredAttributes={}, rejectedAttributes={}, caseInsensitive=false), 
publicKey=null, 
authenticationPolicy=DefaultRegisteredServiceAuthenticationPolicy(requiredAuthenticationHandlers=[],
 criteria=null), properties={}, contacts=[])] cannot be located. Falling back 
to default theme...>
2020-05-11 02:43:04,959 INFO 
[org.apereo.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - <Audit 
trail record BEGIN
…

I feel like I am very close but I cannot figure it out from the documentation 
as the documentation reads:

"Add a [theme_name].properties placed to the root of src/main/resources folder. 
Contents of this file should match the following:"

But I seriously doubt I have to recompile the software EVERY time I try to use 
a dynamic theme for a service.  

I am missing something but I cannot figure out what it is.

-- 
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
--- 
You received this message because you are subscribed to the Google Groups "CAS 
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/AF0912E7-E79A-471D-97BD-D1ACBDA2E85C%40yahoo.com.

Reply via email to