I figured out the problem (several factors): 1. I changed the pom.xml file so that the cas version matched what I was using (it was 5.3.5, but I made it 5.3.14) -> Can't do that apparently. 2. I was not properly deleting the cas-management folder from the tomcat/webapps, and the updated jars created by the pom build were getting added to the webapps folder.
Once I set everything back to the original, and deleted the appropriate folder, it came up. Ugh! Thanks for your help! Shawn On Thursday, November 14, 2019 at 10:53:56 AM UTC-5, Shawn Cutting 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 [email protected]. To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/cas-user/4ac0b4f7-cb65-4835-a378-af44af379fda%40apereo.org.
