Luís,

Put cas management aside while you work with the actuators for cas. You can 
edit the json service definition by hand if needed.
You say there is a problem with cas management release attributes but the url 
provided suggests you are accessing cas.

Ray

This is my local endpoint config:

##### --- management endpoints
# cas.monitor.endpoints.ldap.ldap-authz.role-attribute = description
management.endpoints.enabled-by-default=true

management.endpoint.metrics.enabled=true
management.endpoint.env.enabled=true
management.endpoint.configurationMetadata.enabled=true
# # curl -X POST -k https://local.uvic.ca/cas/actuator/refresh was accepted but 
browser refresh -> 500
# # management.endpoint.refresh.enabled=true
# # not sure how to call
# # management.endpoint.autoconfig.enabled=true

# default:
# health,info
# cas built in (or part of already configured features), enabled with '*' (some 
may not work):
# 
samlValidate,yubikeyAccountRepository,loggingConfig,beans,caches,conditions,configprops,env,loggers,heapdump,threaddump,metrics,scheduledtasks,mappings,refresh,features
# cas-server-support-reports, status is auto enabled, provides:
# 
status,springWebflow,auditLog,registeredServices.exportRegisteredServices,ssoSession,statistics,releaseAttributes
# cas-server-core-configuration-metadata-repository configurationMetadata is 
auto enabled, provides:
# configurationMetadata
# cas-server-support-discovery-profile provides:
# discoveryProfile
management.endpoints.web.exposure.include=*
# https://apereo.github.io/2018/11/06/cas6-admin-endpoints-security/
# must specify auto enabled / default endpoints if using exposure.include
# 
management.endpoints.web.exposure.include=health,info,configurationMetadata,discoveryProfile,auditLog

# # cas.monitor.endpoints.endpoint.defaults.access[0]=IP_ADDRESS
# # 
cas.monitor.endpoints.endpoint.defaults.requiredIpAddresses[0]=\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}
# # 
#cas.monitor.endpoints.endpoint.defaults.requiredIpAddresses[0]=127\\.0\\.0\\.1

# # shows free memory
# management.endpoint.health.show-details=always
# # shows health items below
# management.health.defaults.enabled=true
# # on by default
# # management.health.memoryHealthIndicator.enabled=true
# # management.health.systemHealthIndicator.enabled=true
# # management.health.sessionHealthIndicator.enabled=true
# # management.health.hazelcastHealthIndicator.enabled=true
# # management.health.pooledLdapConnectionFactoryHealthIndicator.enabled=true
# # management.health.samlRegisteredServiceMetadataHealthIndicator.enabled=true

management.endpoint.ticketExpirationPolicies.enabled=true
management.endpoints.web.exposure.include=*

# # can not be accessed once authenticated. I know, weird, right?
cas.monitor.endpoints.endpoint.health.access=ANONYMOUS
# # cas.monitor.endpoints.endpoint.info.access=ANONYMOUS

# spring.security.user.name=casuser
spring.security.user.password=Some secret, spaces are cool

# cas.monitor.endpoints.endpoint.defaults.access=AUTHENTICATED
cas.monitor.endpoints.endpoint.defaults.access=ANONYMOUS


On Fri, 2023-04-21 at 07:17 -0700, Luís Costa wrote:
Notice: This message was sent from outside the University of Victoria email 
system. Please be cautious with links and sensitive information.

Hello,


I've recently installed "CAS server 665 and "CAS management 662".

I've configured all of CAS server actuators to be available with ANONYMOUS 
access (for initial testing purposes).

I think I've included all the needed dependencies in both "CAS server and "CAS 
managment.

I'm using JSON service registry for testing purposes, and I have one service 
configured, which is correctly recognized by CAS management.

CAS management is apparently working well on almoust all options i've tested, 
as an example, I can change my service JSON file configs with CAS management.

I've also been able to successefully test "CAS management => Administration => 
RESOLVE Attributes".


I'm having the following error when testing option "CAS management => 
Administration => RELEASE Attributes" with the above configured service:


CAS management log:

2023-04-19 18:46:52,618 [https-jsse-nio-8445-exec-2] ERROR: 403 :
"<Map><timestamp>2023-04-19T17:46:52.365+00:00</timestamp><status>403</status><error>Forbidden</error><trace>org.apereo.cas.services.UnauthorizedSsoServiceException:
service.not.authorized.sso<EOL>?
at 
org.apereo.cas.authentication.handler.RegisteredServiceAuthenticationHandlerResolver.supports(RegisteredServiceAuthenticationHandlerResolver.java:122)<EOL>?
at 
org.apereo.cas.authentication.DefaultAuthenticationEventExecutionPlan.lambda$getAuthenticationHandlers$4(DefaultAuthenticationEventExecutionPlan.java:161)<EOL>?
(...)
at 
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)<EOL>?at
 
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)<EOL>?
at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)<EOL>?at
 
java.base/java.lang.Thread.run(Thread.java:833)<EOL></trace><path>/sso/actuator/releaseAttributes</path></Map>"
at 
org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:109)
at 
org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:168)
(...)
2023-04-19 18:46:52,654 [https-jsse-nio-8445-exec-2] ERROR: Servlet.service() 
for servlet [dispatcherServlet] in context with path [/cas-management] threw 
exception
java.lang.RuntimeException: 
org.springframework.web.util.NestedServletException: Request processing failed; 
nested exception is java.lang.NullPointerException: Cannot invoke 
"org.apereo.cas.mgmt.domain.Attributes.getAttributes()" because the return 
value of "org.apereo.cas.mgmt.DashboardController.callCasServer(String, Object, 
org.springframework.core.ParameterizedTypeReference)" is null
at 
org.pac4j.core.engine.AbstractExceptionAwareLogic.runtimeException(AbstractExceptionAwareLogic.java:64)
at 
org.pac4j.core.engine.AbstractExceptionAwareLogic.handleException(AbstractExceptionAwareLogic.java:49)
at 
org.pac4j.core.engine.DefaultSecurityLogic.perform(DefaultSecurityLogic.java:163)
(...)
Caused by: org.springframework.web.util.NestedServletException: Request 
processing failed; nested exception is java.lang.NullPointerException: Cannot 
invoke "org.apereo.cas.mgmt.domain.Attributes.getAttributes()" because the 
return value of "org.apereo.cas.mgmt.DashboardController.callCasServer(String, 
Object, org.springframework.core.ParameterizedTypeReference)" is null
at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
at 
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:517)
Caused by: java.lang.NullPointerException: Cannot invoke 
"org.apereo.cas.mgmt.domain.Attributes.getAttributes()" because the return 
value of "org.apereo.cas.mgmt.DashboardController.callCasServer(String, Object, 
org.springframework.core.ParameterizedTypeReference)" is null
at org.apereo.cas.mgmt.DashboardController.release(DashboardController.java:170)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
(...)


CAS server log:

2023-04-20 18:04:53,974 [https-jsse-nio-8443-exec-3] WARN : Service 
[AbstractWebApplicationService(id=casdemo665, originalUrl=casdemo665, 
artifactId=null, principal=null, source=service, loggedOutAlready=false, 
format=XML, attributes={service=[casdemo665], username=[ABExyz]})] is not 
allowed to use SSO.

2023-04-20 18:04:53,975 [https-jsse-nio-8443-exec-3] INFO : Audit trail record 
BEGIN
=============================================================
WHO: ABE001731
WHAT: [UsernamePasswordCredential(username=ABE001731, source=null, 
customFields={})]
ACTION: AUTHENTICATION_FAILED
APPLICATION: CAS
WHEN: Thu Apr 20 18:04:53 WEST 2023
CLIENT IP ADDRESS: 127.0.0.1
SERVER IP ADDRESS: 127.0.0.1
=============================================================


If I try to call the actuator like this (don't know if it's the right way),

https://localhost:8443/cas/actuator/releaseAttributes?username=ABExyz&password=somepassword&service=casdemo665

I get the following information on CAS server log:

2023-04-21 15:11:09,619 [https-jsse-nio-8443-exec-2] ERROR: Service unauthorized
RegisteredServiceAccessStrategyAuditableEnforcer.java:lambda$execute$6:200
Optional.java:orElseGet:364
RegisteredServiceAccessStrategyAuditableEnforcer.java:execute:194


I've tried to use "CAS server 665 and "CAS management 661", which I think, 
looking at "CAS management 661" dependencies, makes more sense,
but with this configuration, CAS management gets worse, for example, I can't 
manage by service JSON file base configs (get a blank screen),
so I've got back to "CAS server 665 and "CAS management 662", on which my only 
problem so far is with "CAS management => Administration => RESOLVE Attributes".


My questions:
-Am I missing some configuration on properties files of CAS server and/or CAS 
management?
-Am I missing some configuration on JSON file of my casdemo665 service?
-Is there a known issue with "CAS server 665 + CAS management 6.6.2" on "CAS 
management => Administration => RESOLVE Attributes"?


Can anybody help me with this issue, please?

-- 
- 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 cas-user+unsubscr...@apereo.org.
To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/30d52be80cf4afeb5fb1c934e31d5f3ab6676f31.camel%40uvic.ca.

Reply via email to