Do you have the   cas-server-support-mongo-service-registry   dependency in
the cas-management pom.xml as well as the cas server pom.xml? I didn't see
it in the excerpt you provided.

--Dave

--

DAVID A. CURRY, CISSP
*DIRECTOR • INFORMATION SECURITY & PRIVACY*
THE NEW SCHOOL • INFORMATION TECHNOLOGY

71 FIFTH AVE., 9TH FL., NEW YORK, NY 10003
+1 646 909-4728 • david.cu...@newschool.edu


On Thu, Nov 14, 2019 at 10:53 AM Shawn Cutting <scutt...@messiah.edu> wrote:

> Good morning,
>
> I am at a total loss here about how to get CAS services to load from (and
> to) MongoDB.  Following the instructions on David Curry's site
> <https://dacurry-tns.github.io/deploying-apereo-cas/high-avail_overview.html>
> (very well written, by the way), I have the mongodb server running and
> replicating across 3 servers.  I am also able to successfully
> auto-initialize the database with the JSON files.  I verify this by opening
> mongodb and searching the collection "casServiceRegistry."
>
> *CAS version 5.3.14*, by the way.
>
> When I start the tomcat server and watch the debug logs, I see that CAS is
> loading the entry from the database:
>
> - snippet -
> 2019-11-13 16:24:22,706 DEBUG
> [org.apereo.cas.services.AbstractServicesManager] - <Loading services from
> [org.apereo.cas.services.ChainingServiceRegistry@3971e14f]>
> 2019-11-13 16:24:22,728 DEBUG
> [org.apereo.cas.services.AbstractServicesManager] - <Adding registered
> service [http(|s)://cas(|.*).messiah.edu(|.*)/cas-management(|/.*)]>
> 2019-11-13 16:24:22,729 INFO
> [org.apereo.cas.services.AbstractServicesManager] - <Loaded [1] service(s)
> from [MongoDbServiceRegistry].>
>
>
> Here is where it gets weird: when I load the management app, I see one
> service entry that does NOT match the one loaded on startup.  I should also
> note that I have the ticket registry replicated on the same MongoDB server
> and it works perfectly.
>
> That's the short story, here are the details (these settings match on all
> 3 servers "*cas-ha01, cas-ha02, cas-ha03*":
>
> -- cas.properties: --
> cas.server.name=https://cas-ha.messiah.edu
> cas.server.prefix=${cas.server.name}/cas
> cas.view.templatePrefixes[0]=file:///etc/cas/templates
> cas.logout.followServiceRedirects=true
> logging.config=file:/etc/cas/config/log4j2.xml
>
> mongo.db=casdb
> mongo.rs=rs0
> mongo.opts=&ssl=true
> mongo.creds=mongocas:**********
> mongo.hosts=cas-ha01.messiah.edu,cas-ha02.messiah.edu,cas-ha03.messiah.edu
> # The connection string, assembled
> mongo.uri=mongodb://${mongo.creds}@
> ${mongo.hosts}/${mongo.db}?replicaSet=${mongo.rs}${mongo.opts}
>
> ### Remove default/local users (must be left blank) ###
> cas.authn.accept.users=
>
> ### Service Registry Setup ###
> #cas.serviceRegistry.json.location=file:/etc/cas/services
> #cas.serviceRegistry.initFromJson=true
> cas.serviceRegistry.mongo.databaseName=${mongo.db}
> cas.serviceRegistry.mongo.clientUri=${mongo.uri}
> cas.serviceRegistry.mongo.collection=casServiceRegistry
> cas.serviceRegistry.mongo.replicaSet=${mongo.rs}
> cas.serviceRegistry.mongo.sslEnabled=true
> cas.ticket.registry.mongo.clientUri=${mongo.uri}
>
>
> -- management.properties: --
> cas.server.name=https://cas-ha.messiah.edu
> cas.server.prefix=${cas.server.name}/cas
> mgmt.serverName=${cas.server.name}
> mgmt.userPropertiesFile=file:/etc/cas/config/adminusers.properties
>
> mongo.db=casdb
> mongo.rs=rs0
> mongo.opts=&ssl=true
> mongo.creds=mongocas:**********
> mongo.hosts=cas-ha01.messiah.edu,cas-ha02.messiah.edu,cas-ha03.messiah.edu
> # The connection string, assembled
> mongo.uri=mongodb://${mongo.creds}@
> ${mongo.hosts}/${mongo.db}?replicaSet=${mongo.rs}${mongo.opts}
>
> ### Service Registry Setup ###
> #cas.serviceRegistry.json.location=file:/etc/cas/services
> cas.serviceRegistry.mongo.clientUri=${mongo.uri}
> cas.serviceRegistry.mongo.collection=casServiceRegistry
>
> -- pom.xml (cas server, dependencies): --
> ...
> <dependency>
>     <groupId>org.apereo.cas</groupId>
>     <artifactId>cas-server-webapp${app.server}</artifactId>
>     <version>${cas.version}</version>
>     <type>war</type>
>     <scope>runtime</scope>
> </dependency>
> <dependency>
>     <groupId>org.apereo.cas</groupId>
>     <artifactId>cas-server-support-ldap</artifactId>
>     <version>${cas.version}</version>
> </dependency>
> <dependency>
>     <groupId>org.apereo.cas</groupId>
>     <artifactId>cas-server-support-ldap-core</artifactId>
>     <version>${cas.version}</version>
> </dependency>
> <dependency>
>     <groupId>org.apereo.cas</groupId>
>     <artifactId>cas-server-webapp-config-security</artifactId>
>     <version>${cas.version}</version>
> </dependency>
> <dependency>
>     <groupId>org.apereo.cas</groupId>
>     <artifactId>cas-server-support-interrupt-core</artifactId>
>     <version>${cas.version}</version>
> </dependency>
> <dependency>
>     <groupId>org.apereo.cas</groupId>
>     <artifactId>cas-server-support-interrupt-api</artifactId>
>     <version>${cas.version}</version>
> </dependency>
> <dependency>
>     <groupId>org.apereo.cas</groupId>
>     <artifactId>cas-server-support-interrupt-webflow</artifactId>
>     <version>${cas.version}</version>
> </dependency>
> <dependency>
>     <groupId>org.apereo.cas</groupId>
>     <artifactId>cas-server-support-rest</artifactId>
>     <version>${cas.version}</version>
> </dependency>
> <dependency>
>     <groupId>org.apereo.cas</groupId>
>     <artifactId>cas-server-support-gauth</artifactId>
>     <version>${cas.version}</version>
> </dependency>
> <dependency>
>    <groupId>org.apereo.cas</groupId>
>    <artifactId>cas-server-support-jdbc-drivers</artifactId>
>    <version>${cas.version}</version>
> </dependency>
> <dependency>
>      <groupId>org.apereo.cas</groupId>
>      <artifactId>cas-server-support-gauth-jpa</artifactId>
>      <version>${cas.version}</version>
> </dependency>
> <dependency>
>     <groupId>org.apereo.cas</groupId>
>     <artifactId>cas-server-support-trusted-mfa</artifactId>
>     <version>${cas.version}</version>
> </dependency>
> <dependency>
>     <groupId>org.apereo.cas</groupId>
>     <artifactId>cas-server-support-trusted-mfa-jdbc</artifactId>
>     <version>${cas.version}</version>
> </dependency>
> <dependency>
>     <groupId>org.apereo.cas</groupId>
>     <artifactId>cas-server-support-mongo-ticket-registry</artifactId>
>     <version>${cas.version}</version>
> </dependency>
> <dependency>
>     <groupId>org.apereo.cas</groupId>
>     <artifactId>cas-server-support-mongo-service-registry</artifactId>
>     <version>${cas.version}</version>
> </dependency>
> ...
>
> -- pom.xml (management app, dependencies): --
> ...
> <dependency>
>     <groupId>org.apereo.cas</groupId>
>     <artifactId>cas-management-webapp</artifactId>
>     <version>${cas-mgmt.version}</version>
>     <type>war</type>
> </dependency>
> ...
>
> When I load the Service Management app, here is the service that appears:
> ^https://cas-ha.messiah.edu/cas-management/manage.html
>
> But the one that is in the MongoDB table (which I imported from the
> initFromJson) is:
> http(|s)://cas(|.*).messiah.edu(|.*)/cas-management(|/.*)
>
> If I try to create a new service entry, it does not appear in the MongoDB,
> and I cannot delete the existing one.  In fact, I do not know how that one
> is even getting into the management app (that's what is really driving me
> nuts, since I have deleted all service json files)!!
>
> If anyone can help me out, I woudl certainly apprecite it.
>
> --
> - 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/67bec8ac-d253-47ba-95eb-aa01ef6b317a%40apereo.org
> <https://groups.google.com/a/apereo.org/d/msgid/cas-user/67bec8ac-d253-47ba-95eb-aa01ef6b317a%40apereo.org?utm_medium=email&utm_source=footer>
> .
>

-- 
- 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/CA%2Bd9XANgFpjFcnCWh%3D_vCb22xCj1jsyQWA-LK1pi3pLuMcbUnw%40mail.gmail.com.

Reply via email to