Dylan Kolson
02/12/2025, 2:44 PMgsandrew
02/22/2025, 2:12 PMDylan Kolson
02/24/2025, 4:04 PMDylan Kolson
02/24/2025, 4:28 PM// Set secrets
def jwt_secret = System.getenv("WT_JWT_SECRET")
grails.plugin.springsecurity.filterChain.chainMap = [
[pattern: '/assets/**', filters: 'none'],
[pattern: '/**/js/**', filters: 'none'],
[pattern: '/**/css/**', filters: 'none'],
[pattern: '/**/images/**', filters: 'none'],
[pattern: '/**/favicon.ico', filters: 'none'],
[ // Stateless chain (REST)
pattern: '/api/**',
filters: 'JOINED_FILTERS,-anonymousAuthenticationFilter,-exceptionTranslationFilter,-authenticationProcessingFilter,-securityContextPersistenceFilter,-rememberMeAuthenticationFilter,-casAuthenticationFilter'
],
[ // Traditional chain (web)
pattern: '/**',
filters: 'JOINED_FILTERS,-restTokenValidationFilter,-restExceptionTranslationFilter'
]
]
grails.plugin.springsecurity.rest.token.storage.jwt.secret = jwt_secret
grails.plugin.springsecurity.failureHandler.defaultFailureUrl = '/errors/authfail?login_error=1'
grails.plugin.springsecurity.securityConfigType = "Annotation"
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
]
grails.plugin.springsecurity.userLookup.userDomainClassName = '*********'
grails.plugin.springsecurity.xface.useRoleGroups = false
grails.plugin.springsecurity.xface.authority.className = '*********'
grails.plugin.springsecurity.xface.authority.nameField = '*********'
grails.plugin.springsecurity.xface.authority.groupAuthorityNameField = null
grails.plugin.springsecurity.xface.userLookup.authoritiesPropertyName = '*********'
grails.plugin.springsecurity.xface.userLookup.userDomainClassName = '*********'
grails.plugin.springsecurity.xface.userLookup.authorityJoinClassName = '*********'
grails.plugin.springsecurity.xface.userLookup.usernamePropertyName = '*********'
grails.plugin.springsecurity.xface.userLookup.passwordPropertyName = '*********'
grails.plugin.springsecurity.xface.userLookup.enabledPropertyName = 'enabled'
grails.plugin.springsecurity.xface.userLookup.accountExpiredPropertyName = 'accountExpired'
grails.plugin.springsecurity.xface.userLookup.accountLockedPropertyName = 'accountLocked'
grails.plugin.springsecurity.xface.userLookup.passwordExpiredPropertyName = 'passwordExpired'
usermanager {
filterProcessesUrl = "/j_spring_cas_security_check"
apiUrl = "/api"
}
environments {
development {
usermanager.serverUrlPrefix = "*********"
grails.plugin.springsecurity.cas.serverUrlPrefix = "*********"
grails.plugin.springsecurity.logout.afterLogoutUrl = "*********"
}
production {
usermanager.serverUrlPrefix = "*********"
// Need to override default afterLogoutUrl for RequestAwareUrlLogoutSuccessHandler to work
grails.plugin.springsecurity.logout.afterLogoutUrl = "*********"
}
demo {
usermanager.serverUrlPrefix = "*********"
// Need to override default afterLogoutUrl for RequestAwareUrlLogoutSuccessHandler to work
grails.plugin.springsecurity.logout.afterLogoutUrl = "*********"
}
preview {
// user manager
usermanager.serverUrlPrefix = "*********"
// Need to override default afterLogoutUrl for RequestAwareUrlLogoutSuccessHandler to work
grails.plugin.springsecurity.logout.afterLogoutUrl = "*********"
}
}
grails.plugins.imports.loggingProvider = 'mem'
grails.plugins.imports.confirmationView = 'complete'
grails {
plugin {
auditLog {
auditDomainClassName = 'com.cmt.warranty.domain.AuditLog'
logFullClassName = false
verbose = false
verboseEvents = [grails.plugins.orm.auditable.AuditEventType.UPDATE]
logOnlyIds = true
verbose = false
usePersistentDirtyPropertyValues = false
}
}
}
// SendGrid Config
grails {
mail {
host = "*********"
port = 587
username = "*********"
def send_grid_password = System.getenv("SEND_GRID_PASSWORD")
password = send_grid_password
props = ["mail.smtp.starttls.enable":"true",
"mail.smtp.port":"587"]
}
}
// Used in the absence of explicit values when sending mail
grails.mail.default.from = "*********"
dummy.implant.card.address = "*********"
asynchronous.mail.useFlushOnSave=true
environments {
dbm-gorm-diff {
asynchronous.mail.disable=true
}
}
// Run migrations on startup
grails.plugin.databasemigration.updateOnStart = true
grails.plugin.databasemigration.excludeObjects = "acl_class, acl_entry, acl_object_identity, acl_sid"
environments {
development {
grails.plugin.databasemigration.updateOnStart = false
grails.plugin.databasemigration.backupBeforeMigrating = false
}
devmysql {
// Custom option we've added
grails.plugin.databasemigration.backupBeforeMigrating = false
}
dbm-gorm-diff {
// Custom option we've added
grails.plugin.databasemigration.backupBeforeMigrating = false
grails.plugin.databasemigration.updateOnStart = false
}
test {
grails.plugin.databasemigration.updateOnStart = false
}
demo {
grails.plugin.databasemigration.backupBeforeMigrating = false
grails.plugin.databasemigration.updateOnStart = true
}
qa {
grails.plugin.databasemigration.backupBeforeMigrating = false
grails.plugin.databasemigration.updateOnStart = false
}
pentest {
grails.plugin.databasemigration.backupBeforeMigrating = false
grails.plugin.databasemigration.updateOnStart = true
}
preview {
grails.plugin.databasemigration.backupBeforeMigrating = false
grails.plugin.databasemigration.updateOnStart = false
}
production {
grails.plugin.databasemigration.backupBeforeMigrating = false
grails.plugin.databasemigration.updateOnStart = true
}
}
multitenant.database.config.location = 'dataSources.yml'
environments {
devmysql {
multitenant.database.config.location = '*********'
}
qa {
multitenant.database.config.location = 'file:*********'
}
pentest {
multitenant.database.config.location = 'file:*********'
}
demo {
multitenant.database.config.location = 'file:*********'
}
production {
multitenant.database.config.location = 'file:*********'
}
preview {
multitenant.database.config.location = 'file:*********'
}
}