import org.grails.plugins.springsecurity.service.AuthenticateService class BootStrap { AuthenticateService authenticateService def init = {servletContext -> def userRole = Role.findByAuthority("ROLE_USER") if ( !userRole ) { userRole = new Role(authority: "ROLE_USER", description: "user") userRole.save() } def adminRole = Role.findByAuthority("ROLE_ADMIN") if ( !adminRole ) { adminRole = new Role(authority: "ROLE_ADMIN", description: "admin") adminRole.save() } def user = AuthUser.findByUsername("user") if ( !user ) { user = new AuthUser( username: "user", userRealName: "user", passwd: authenticateService.passwordEncoder("user"), enabled: true, email: "user@user.com", emailShow: false, description: "Normal User" ) user.addToAuthorities(userRole) user.save() } def admin = AuthUser.findByUsername("admin") if ( !admin ) { admin = new AuthUser( username: "admin", userRealName: "admin", passwd: authenticateService.passwordEncoder("admin"), enabled: true, email: "admin@admin.com", emailShow: false, description: "Super User" ) admin.addToAuthorities(userRole) admin.addToAuthorities(adminRole) admin.save() } if ( !Requestmap.findByUrl("/home/**") ) { new Requestmap(configAttribute: "ROLE_USER,ROLE_ADMIN", url: "/home/**").save() } def controllers = [ "repository", "rasterDataSet", "rasterFile", "rasterEntry", "rasterEntryFile", "metadataTag", "videoDataSet", "videoFile" ] controllers.each {controller -> controller = controller.toLowerCase() if ( !Requestmap.findByUrl("/${controller}/**") ) { new Requestmap(configAttribute: "ROLE_ADMIN", url: "/${controller}/**").save() new Requestmap(configAttribute: "ROLE_USER,ROLE_ADMIN", url: "/${controller}/index/**").save() new Requestmap(configAttribute: "ROLE_USER,ROLE_ADMIN", url: "/${controller}/list/**").save() new Requestmap(configAttribute: "ROLE_USER,ROLE_ADMIN", url: "/${controller}/show/**").save() } } def searchableControllers = ["rasterEntry", "videoDataSet"] searchableControllers.each {controller -> controller = controller.toLowerCase() if ( !Requestmap.findByUrl("/${controller}/search/**") ) { new Requestmap(configAttribute: "ROLE_USER,ROLE_ADMIN", url: "/${controller}/search/**").save() new Requestmap(configAttribute: "ROLE_USER,ROLE_ADMIN", url: "/${controller}/results/**").save() } } new SearchTag( name:"custom", description:"Custom name=value").save() } def destroy = { } }