Giter Site home page Giter Site logo

grails / grails-spring-security-ui Goto Github PK

View Code? Open in Web Editor NEW
73.0 15.0 96.0 37.15 MB

The Spring Security UI plugin provides CRUD screens and other user management workflows.

Home Page: https://grails.github.io/grails-spring-security-ui/

Groovy 68.30% Shell 1.32% CSS 7.71% JavaScript 21.98% Batchfile 0.68%
grails grails-plugins spring-security spring-security-ui

grails-spring-security-ui's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

grails-spring-security-ui's Issues

User Registration semantics (enabled >< accountLocked)

Hi,

I have a question about the proper use of user.enabled and user.accountLocked
By default the registration, create a user with enabled=true and accountLocked = true.
When clicking the verification link https://github.com/grails-plugins/grails-spring-security-ui/blob/master/grails-app/controllers/grails/plugins/springsecurity/ui/RegisterController.groovy accountLocked is set to false.

This works but I wonder if by default, it should not be user.enabled = false and user.accountLocked = false. Locking is a manual decision to prohibit user access, enabled sounds the right place to handle opt-in registrations.

What do you think ?

Grails Spring Security UI cannot be used with MongoDB

The MongoDB GORM implementation doesn't support HQL queries and there are a couple dozen in this plugin. The following error shows up whenever a search is executed:

URI
    /server/user/userSearch
Class
    java.lang.UnsupportedOperationException
Message
    String-based queries like [executeQuery] are currently not supported in this implementation of GORM. Use criteria instead.

Create the default role specified in config during registration if it doesn't exist

The method SpringSecurityUiService.finishRegistration(RegistrationCode registrationCode) calls protected void addRoles(user, List<String> roleNames) and passes in registerDefaultRoleNames that are defined in DefaultUiSecurityConfig.groovy but may be overriden in application.groovy or application.yml with the the key conf.ui.register.defaultRoleNames.

The default value set in DefaultUiSecurityConfig.groovy is ['ROLE_USER'].

If the default role does not exist in the database, the user's account will be locked.

I'm proposing that default roles should be persisted to the database automatically if they don't already exist.

This can easily be done by modifying SpringSecurityUiService.addRoles() to do so.

This issue came out of the discussion at #94 (comment)

@sdelamo do you happen to have any thoughts on this? Any problems you see with implementing this functionality?

Error when compiling assets on 3.0.11

Hi,

It seems there is an asset compilation problem. As a result the s2ui GUI is not working with war and jar files.

Steps to produce the error:
-Create a new grails 3.0.11 project
-Add plugins spring-security-core and spring-security-ui
-Run: gradle assetCompile

If you run a second time you do not have the errors anymore but the problem still remains. Do gradle assetClean to reproduce again.

The spring-security-ui GUI (/user/search) will work fine with grails run-app but not with a standalone or deployed war file generated with grails war or grails package. The page is static (do not find object $)

In the browser console on /user/search you get
Uncaught ReferenceError: jQuery is not defined Uncaught ReferenceError: $ is not defined

Example of error (one for each js file):
Processing File 74 of 82 - jquery.js Error Processing GString Template Engine groovy.lang.MissingPropertyException: No such property: grails for class: groovy.lang.Binding Error Processing GString Template Engine groovy.lang.MissingPropertyException: No such property: grails for class: groovy.lang.Binding at groovy.lang.Binding.getVariable(Binding.java:58) at groovy.lang.Binding.getProperty(Binding.java:105) at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:172) at groovy.lang.Closure.getPropertyTryThese(Closure.java:324) at groovy.lang.Closure.getPropertyDelegateFirst(Closure.java:314) at groovy.lang.Closure.getProperty(Closure.java:299) at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:50) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:307) at groovy.tmp.templates.GStringTemplateScript9$_getTemplate_closure1.doCall(GStringTemplateScript9.groovy:2) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1019) at groovy.lang.Closure.call(Closure.java:426) at groovy.lang.Closure$WritableClosure.writeTo(Closure.java:856) at groovy.lang.Closure$WritableClosure.toString(Closure.java:982) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:71) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) at asset.pipeline.DirectiveProcessor.directiveArgumentsFromGString(DirectiveProcessor.groovy:176) at asset.pipeline.DirectiveProcessor.findDirectives(DirectiveProcessor.groovy:160) at asset.pipeline.DirectiveProcessor.getDependencyTree(DirectiveProcessor.groovy:134) at asset.pipeline.DirectiveProcessor.compile(DirectiveProcessor.groovy:58) at asset.pipeline.DirectiveProcessor$compile.call(Unknown Source) at asset.pipeline.AssetCompiler.compile(AssetCompiler.groovy:128) at asset.pipeline.AssetCompiler$compile.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) at asset.pipeline.gradle.AssetCompile.compile(AssetCompile.groovy:176) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:227) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209) at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585) at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53) at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185) at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66) at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110) at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37) at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23) at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43) at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30) at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154) at org.gradle.internal.Factories$1.create(Factories.java:22) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52) at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151) at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32) at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99) at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62) at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93) at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82) at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94) at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28) at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28) at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78) at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:48) at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51) at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28) at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43) at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170) at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237) at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210) at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35) at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24) at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206) at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169) at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33) at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22) at org.gradle.launcher.Main.doAction(Main.java:33) at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54) at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35) at org.gradle.launcher.GradleMain.main(GradleMain.java:23) Unable to Locate Asset: /e Uglifying File 74 of 82 - jquery Compressing File 74 of 82 - jquery

S2UI Submit Button is not working in grails

I have given the following code in the gsp <s2ui:submitButton elementId='create' class="btn btn-primary" messageCode='default.button.create.label'/>. But submit button is not working. When debugged a bit I got to know that javascript

\$("#$elementId").button(); \$('#$elementId').bind('click', function() { document.forms.${formName}.submit(); }) is not getting loaded.

Search button on UI does nothing

I have an application that used to work. :-( I upgraded to 2.5.6 of Grails and 2.4.10 of Groovy, and now I can't get the Security UI to work any more.

My application has customer User, Role, UserRole domains. I can go into the console and view records in those tables. All is OK there. I can go into the UI and display my customer User screen with my extra fields.

Pressing "search" on an empty user screen does nothing. It used to display all the users in my user database.

I am at a loss on how to debug this.

Please help! :-) A lot of code follows...

What information can I give you to help determine what is going wrong?

User Class:

package com.paslists

import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString

@EqualsAndHashCode(includes='username')
@ToString(includes='username', includeNames=true, includePackage=false)
class User implements Serializable {

	public static final long serialVersionUID = 1
	
	transient springSecurityService

	String username
	String password
	String email
	Long   brokerid
	Long   customerid
	Long   ownerid
	Long   salesrepid
	
	boolean enabled = true
	boolean accountExpired
	boolean accountLocked
	boolean passwordExpired
	
	static transients = ['springSecurityService']

	static constraints = {
		username blank: false, unique: true
		password blank: false
		brokerid (nullable: true)
		customerid (nullable: true)
		ownerid (nullable: true)
		salesrepid (nullable: true)
	}

	static mapping = {
		table 'PAS_WEB_USER'
		password column: '`password`'
	}

	User(String username, String password) {
		this()
		this.username = username
		this.password = password
	}
	 
	Set<Role> getAuthorities() {
		UserRole.findAllByUser(this)*.role
	}

	def beforeInsert() {
		encodePassword()
	}

	def beforeUpdate() {
		if (isDirty('password')) {
			encodePassword()
		}
	}

	protected void encodePassword() {
		password = springSecurityService?.passwordEncoder ? springSecurityService.encodePassword(password) : password
	}
}

Role class:

package com.paslists

import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString

@EqualsAndHashCode(includes='authority')
@ToString(includes='authority', includeNames=true, includePackage=false)
class Role implements Serializable {

	private static final long serialVersionUID = 1
	
	String authority

	static mapping = {
		table 'PAS_WEB_ROLE'
		cache true
	}

	static constraints = {
		authority blank: false, unique: true
	}
	
	Role(String authority) {
		this()
		this.authority = authority
	 }

}

UserRole class:

package com.paslists

import grails.gorm.DetachedCriteria
import groovy.transform.ToString

import org.apache.commons.lang.builder.HashCodeBuilder

@ToString(cache=true, includeNames=true, includePackage=false)
class UserRole implements Serializable {

	private static final long serialVersionUID = 1

	User user
	Role role

	UserRole(User u, Role r) {
		this()
		user = u
		role = r
	}
	
	@Override 
	boolean equals(other) {
		if (!(other instanceof UserRole)) {
			return false
		}

		other.user?.id == user?.id &&
		other.role?.id == role?.id
	}

	@Override
	int hashCode() {
		def builder = new HashCodeBuilder()
		if (user) builder.append(user.id)
		if (role) builder.append(role.id)
		builder.toHashCode()
	}

	static UserRole get(long userId, long roleId) {
		criteriaFor(userId, roleId).get()
	}

	static boolean exists(long userId, long roleId) {
		criteriaFor(userId, roleId).count()
	}
	
	private static DetachedCriteria criteriaFor(long userId, long roleId) {
		UserRole.where {
			user == User.load(userId) &&
			role == Role.load(roleId)
		}
	}
	
	static UserRole create(User user, Role role, boolean flush = false) {
		def instance = new UserRole(user: user, role: role)
		instance.save(flush: flush, insert: true)
		instance
	}

	static boolean remove(User u, Role r, boolean flush = false) {
		if (u == null || r == null) return false
		
		int rowCount = UserRole.where { user == u && role == r}.deleteAll()
		
		if (flush) { UserRole.withSession { it.flush() } }

		rowCount
	}

	static void removeAll(User u, boolean flush = false) {
		if (u == null) return
		
		UserRole.where { user == u }.deleteAll()
		
		if (flush) { UserRole.withSession { it.flush() } }
	}

	static void removeAll(Role r, boolean flush = false) {
		UserRole.where { role == r }.deleteAll()
		
		if (flush) { UserRole.withSession { it.flush() } }
	}

	static constraints = {
		role validator: { Role r, UserRole ur ->
			if (ur.user == null || ur.user.id == null) return
			boolean existing = false
			UserRole.withNewSession {
				existing = UserRole.exists(ur.user.id, r.id)
			}
			if (existing) {
				return 'userRole.exists'
			}
		}
	}
	
	static mapping = {
		table 'PAS_WEB_USER_PAS_WEB_ROLE'
		user column: 'PAS_WEB_USER_ID'
		role column: 'PAS_WEB_ROLE_ID'
		id composite: ['role', 'user']
		version false
	}
}

Config.groovy:

// Added by the Spring Security Core plugin:

grails.plugin.springsecurity.userLookup.userDomainClassName = 'com.paslists.User'
grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'com.paslists.UserRole'
grails.plugin.springsecurity.authority.className = 'com.paslists.Role'
grails.plugin.springsecurity.auth.forceHttps = true

grails.plugin.springsecurity.controllerAnnotations.staticRules = [
	'/':                      ['permitAll'],
	'/robots.txt':            ['permitAll'],
	'/sitemap.xml':           ['permitAll'],
	'/index':                 ['permitAll'],
	'/index.gsp':			  ['permitAll'],
	'/assets/**':             ['permitAll'],
	'/**/js/**':              ['permitAll'],
	'/**/css/**':             ['permitAll'],
	'/**/favicon.ico':        ['permitAll'],
	'/**/images/**':          ['permitAll'],
	'/login/**':              ['permitAll'],
	'/logout/**':             ['permitAll'],
	'/j_spring_security_switch_user:': ['ROLE_ADMIN'],
	'/j_spring_security_exit_user': ['permitAll'],
	'/user/**':		  	      ['ROLE_ADMIN'],
	'/role/**':		          ['ROLE_ADMIN'],
	'/securityinfo/**':	      ['ROLE_ADMIN'],
	'/adminmanage/**':	      ['ROLE_ADMIN'],
//	'/**/assets/**':		  ['permitAll'],
	'/**/javascripts/**':	  ['permitAll'],
	'/**/stylesheets/**':	  ['permitAll'],
	'/**/img/**':             ['permitAll'],
	'/**/images/**':          ['permitAll'],
	'/**/font/**':            ['permitAll'],
	'/**/fonts/**':           ['permitAll'],
	'/**/mergerpts/**':	  	  ['permitAll'],
	'/**/counts/**':	      ['permitAll'],
	'/mergerpts/**':	      ['permitAll'],
	'/counts/**':		      ['permitAll'],
    '/springSecurityOAuth/**': ['permitAll'],
	'/is-tomcat-running':	  ['permitAll']
]

grails.plugin.springsecurity.secureChannel.definition = [
	'/':			  'ANY_CHANNEL',
	'/robots.txt':		  'ANY_CHANNEL',
	'/sitemap.xml':	  	  'ANY_CHANNEL',	
	'/index':		  'ANY_CHANNEL',
	'/index.gsp':		  'ANY_CHANNEL',
	'/login/**':		  'REQUIRES_SECURE_CHANNEL',
	'/logout/**':		  'ANY_CHANNEL',
      	'/**/index':		  'ANY_CHANNEL',
	'/**/sitemap.xml':	  'ANY_CHANNEL',
        '/**/index.gsp':	  'ANY_CHANNEL',
	'/**/home':		  'ANY_CHANNEL',
	'/**/services':		  'ANY_CHANNEL',
	'/**/about_us':		  'ANY_CHANNEL',
	'/**/contact':		  'ANY_CHANNEL',
	'/**/customeraccess':	  'REQUIRES_SECURE_CHANNEL',
	'/**/customeraccess/**':  'REQUIRES_SECURE_CHANNEL',
	'/**/login/**':  	  'REQUIRES_SECURE_CHANNEL',
	'/**/logout/**':	  'ANY_CHANNEL',
	'/**/logout':		  'ANY_CHANNEL',
	'/**/js/**':       	  'ANY_CHANNEL',
	'/**/css/**':          	  'ANY_CHANNEL',
	'/**/images/**':       	  'ANY_CHANNEL',
	'/**/img/**':          	  'ANY_CHANNEL',
	'/**/font/**':            'ANY_CHANNEL',
	'/**/fonts/**':        	  'ANY_CHANNEL',
	'/**/favicon.ico':     	  'ANY_CHANNEL',
	'/**/user/**':		  'REQUIRES_SECURE_CHANNEL',
	'/**/role/**':		  'REQUIRES_SECURE_CHANNEL',
	'/**/adminManage':	  'ANY_CHANNEL',
 	'/**/adminManage/**':	  'ANY_CHANNEL',
	'/home':		  'ANY_CHANNEL',
	'/services':		  'ANY_CHANNEL',
	'/about_us':		  'ANY_CHANNEL',
	'/contact':		  'ANY_CHANNEL',
	'/customeraccess':	  'REQUIRES_SECURE_CHANNEL',
	'/customeraccess/**':	  'REQUIRES_SECURE_CHANNEL',
	'/logout':		  'ANY_CHANNEL',
	'/js/**':       	  'ANY_CHANNEL',
	'/css/**':          	  'ANY_CHANNEL',
	'/images/**':       	  'ANY_CHANNEL',
	'/img/**':          	  'ANY_CHANNEL',
	'/font/**':        	  'ANY_CHANNEL',
	'/fonts/**':        	  'ANY_CHANNEL',
	'/favicon.ico':     	  'ANY_CHANNEL',
	'/user/**':		  'REQUIRES_SECURE_CHANNEL',
	'/role/**':		  'REQUIRES_SECURE_CHANNEL',
	'/adminManage':		  'ANY_CHANNEL',
 	'/adminManage/**':	  'ANY_CHANNEL',
	'/**/mergerpts/**':	  'REQUIRES_SECURE_CHANNEL',
	'/**/counts/**':	  'REQUIRES_SECURE_CHANNEL',
	'/mergerpts/**':	  'REQUIRES_SECURE_CHANNEL',
	'/counts/**':		  'REQUIRES_SECURE_CHANNEL'
	]
 
grails.plugin.springsecurity.logout.postOnly = false
grails.plugin.springsecurity.useSessionFixationPrevention = false

UserController:

package com.paslists

class UserController extends grails.plugin.springsecurity.ui.UserController {
}

User.Search view:
``
<html>
	<head>
		<meta name="layout" content="${layoutUi}"/>
		<s2ui:title messageCode='spring.security.ui.user.search'/>
	</head>
	<body>
		<div>
			<s2ui:formContainer type='search' beanType='user'>
				<s2ui:searchForm colspan='4'>
					<tr>
						<td><g:message code='user.username.label' default='Username'/>:</td>
						<td colspan='3'><g:textField name='username' size='50' maxlength='255' autocomplete='off' value='${username}'/></td>
					</tr>
					<tr>
						<td><g:message code='user.email.label' default='E-Mail'/>:</td>
						<td colspan='3'><g:textField name='email' size='50' maxlength='255' autocomplete='off' value='${email}'/></td>
					</tr>
				    <tr>
						<td><g:message code='user.brokerid.label' default='Broker ID'/>:</td>
						<td colspan='3'><g:textField name='brokerid' size='20' maxlength='255' autocomplete='off' value='${brokerid}'/></td>
					</tr>
				    <tr>
						<td><g:message code='user.customerid.label' default='Customer ID'/>:</td>
						<td colspan='3'><g:textField name='customerid' size='20' maxlength='255' autocomplete='off' value='${customerid}'/></td>
					</tr>
				    <tr>
						<td><g:message code='user.ownerid.label' default='Owner ID'/>:</td>
						<td colspan='3'><g:textField name='ownerid' size='20' maxlength='255' autocomplete='off' value='${ownerid}'/></td>
					</tr>
				    <tr>
						<td><g:message code='user.salesrepid.label' default='Sales Rep ID'/>:</td>
						<td colspan='3'><g:textField name='salesrepid' size='20' maxlength='255' autocomplete='off' value='${salesrepid}'/></td>
					</tr>
					<tr>
						<td>&nbsp;</td>
						<td><g:message code='spring.security.ui.search.true'/></td>
						<td><g:message code='spring.security.ui.search.false'/></td>
						<td><g:message code='spring.security.ui.search.either'/></td>
					</tr>
					<tr>
						<td><g:message code='user.enabled.label' default='Enabled'/>:</td>
						<g:radioGroup name='enabled' labels="['','','']" values='[1,-1,0]' value='${enabled ?: 0}'>
						<td><%=it.radio%></td>
						</g:radioGroup>
					</tr>
					<tr>
						<td><g:message code='user.accountExpired.label' default='Account Expired'/>:</td>
						<g:radioGroup name='accountExpired' labels="['','','']" values='[1,-1,0]' value='${accountExpired ?: 0}'>
						<td><%=it.radio%></td>
						</g:radioGroup>
					</tr>
					<tr>
						<td><g:message code='user.accountLocked.label' default='Account Locked'/>:</td>
						<g:radioGroup name='accountLocked' labels="['','','']" values='[1,-1,0]' value='${accountLocked ?: 0}'>
						<td><%=it.radio%></td>
						</g:radioGroup>
					</tr>
					<tr>
						<td><g:message code='user.passwordExpired.label' default='Password Expired'/>:</td>
						<g:radioGroup name='passwordExpired' labels="['','','']" values='[1,-1,0]' value='${passwordExpired ?: 0}'>
						<td><%=it.radio%></td>
						</g:radioGroup>
					</tr>
				</s2ui:searchForm>
			</s2ui:formContainer>
			<g:if test='${searched}'>
			<div class="list">
			<table>
				<thead>

				<tr>
					<s2ui:sortableColumn property="username" titleDefault='Username'/>
					<s2ui:sortableColumn property="email" titleDefault="EMail"/>
					<s2ui:sortableColumn property="brokerid" titleDefault="Broker ID"/>
					<s2ui:sortableColumn property="customerid" titleDefault="Customer ID"/>
					<s2ui:sortableColumn property="ownerid" titleDefault="Owner ID"/>
					<s2ui:sortableColumn property="salesrepid" titleDefault="Sales Rep ID"/>											
					<s2ui:sortableColumn property='enabled' titleDefault='Enabled'/>
					<s2ui:sortableColumn property='accountExpired' titleDefault='Account Expired'/>
					<s2ui:sortableColumn property='accountLocked' titleDefault='Account Locked'/>
					<s2ui:sortableColumn property='passwordExpired' titleDefault='Password Expired'/>
				</tr>
				</thead>
				<tbody>
				<g:each in='${results}' status='i' var='user'>
				<tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
					<td><g:link action='edit' id='${user.id}'>${uiPropertiesStrategy.getProperty(user, 'username')}</g:link></td>
					<td>${uiPropertiesStrategy.getProperty(user, 'email')}</td>
					<td>${uiPropertiesStrategy.getProperty(user, 'brokerid')}</td>
					<td>${uiPropertiesStrategy.getProperty(user, 'customerid')}</td>
					<td>${uiPropertiesStrategy.getProperty(user, 'ownerid')}</td>
					<td>${uiPropertiesStrategy.getProperty(user, 'salesrepid')}</td>
					<td><s2ui:formatBoolean bean='${user}' name='enabled'/></td>
					<td><s2ui:formatBoolean bean='${user}' name='accountExpired'/></td>
					<td><s2ui:formatBoolean bean='${user}' name='accountLocked'/></td>
					<td><s2ui:formatBoolean bean='${user}' name='passwordExpired'/></td>
				</tr>
				</g:each>
				</tbody>
			</table>
			</div>
			<s2ui:paginate total='${totalCount}'/>
			</g:if>
		</div>
		<s2ui:ajaxSearch paramName='username'/>
	</body>
</html>

Screen Shot:
image

Grails 3.0 compatibility

Hello, guys.

Do you have plans to migrate that plugin to Grails 3 environment?
May I help you to do that ?

s2ui-override errors in grails 3.2.2

Trying to execute the s2ui-override script in a grails 3.2.2 environment:

|Rendered template RegisterController.groovy.template to destination grails-app\controllers\myapp\register\RegisterController.groovy
Error |
Command [s2ui-override] error: class path resource [layouts/register.gsp] cannot be opened because it does not exist (Use --stacktrace to see the full trace)

I see other issues logged with this but there were no actual solutions/reasons posted.
Thanks for any help!

Grails 3.2.2.
Spring Security Core Plugin 3.1.1
Spring Security UI Plugin 3.0.0.M2

error in taglib

def tabs = { attrs, body ->
attrs = [:] + attrs

	def id = getRequiredAttribute(attrs, 'elementId', 'tabs')
	def data = getRequiredAttribute(attrs, 'data', 'tabs')
	int height = getRequiredAttribute(attrs, 'height', 'tabs') as int

	def out = getOut()
	**out << """<div style='display: none;' id="$id">\n"""**
	out << "\t\t\t\t\t\t<ul>\n"
	for (element in data) {
		out << """\t\t\t\t\t\t\t<li><a href="#tab-$element.name" class="icon $element.icon">$element.message</a></li>\n"""
	}
	out << "\t\t\t\t\t\t</ul>\n"

	out << body()
	out << "</div>\n"

	writeDocumentReady out, """\t\$("#$id").tabs().show().resizable({minHeight: $height, minWidth: 100});"""
}

im afraid the display should be block
out << """

\n"""

Cannot override register action in RegisterController.

I am trying to override the RegisterController register action inside a Grails 3.2.2 plugin, but it seems it still goes to the original one. But if I publish the plugin locally and then use it in an app, it then works with my action, but my overridden gsp in not rendered. I have put more details on Stackoverflow

Could I get any help?

On another topic, I am also experiencing the same issue as: #63

Access to "Register" and "Forgot password"

The documentation looks like you can just create a new grails app, add the grails-spring-security-ui dependency, and run. However, when I try this I can get to the login screen but nothing else works. For example, the registration link just redirects back to the login screen. Looks like the login screen is protecting all assets (css, images, etc). Are there changes I need to make in url mappings to make things work as intended? Should this be added to the documentation?

grails.plugin.springsecurity.ui.gsp.layoutRegister not working as expected

This may not be an issue so much as an unfortunate side-effect of Grails that might use some documentation to help other unfortunate souls down the road.

Issue

Unfortunately, I do not believe grails.plugin.springsecurity.ui.gsp.layoutRegister works as expected in the event that a custom RegisterController is implemented. It appears that Grails magic template resolver will always attempt to apply the layout/yourControllerName.gsp layout to the "concrete" view of a given action for YourControllerNameController.groovy. In my case, it resolves to the layout/register.gsp defined in the SpringSecurityUi plugin if it does not find the layout defined within my project's layout directory.

Steps to reproduce

โ€ขย Create a new project
โ€ขย Inherit from springsecurity.ui.RegisterController with your.custom.RegisterController
โ€ข Create layouts/custom.gsp
โ€ขย Create a custom register/register.gsp that applies the custom.gsp layout
โ€ขย Set grails.plugin.springsecurity.ui.gsp.layoutRegister: custom in application.yml
โ€ข navigate to /register/register
Expected -> Grails will apply custom.gsp to the register.gsp view
Actual -> Grails applies custom.gsp and register.gsp view

Likely Workaround

I believe the solution would be to create a uniquely named controller. I did not go this route as I was lazy at the time and did not want to explicitly "blacklist" all the out-of-the-box RegisterController endpoints. I have not yet refactored and tested this, but putting this here for posterity.

Can't build app with JDK 7

I'm trying to build a war for deployment on openshift. Openshift supports Java 6 and 7. When I try to build using a Java 7 JDK, I get the following:

grails/plugin/springsecurity/ui/RegistrationCodeController : Unsupported major.minor version 52.0

Is Java 8 really required? Is there a way around this. I am banging my head against the wall trying to get my grails 3.1.16 app to work.

Thanks!

build failed

my build.gradle

compile 'org.grails.plugins:spring-security-core:3.0.3'
compile "org.grails.plugins:spring-security-ui:1.0-RC3"

gradle dependencies
.....
.....
FAILURE: Build failed with an exception.

  • Where:
    Build file '/home/jack/github/myPractice/grails3-security-demo/build.gradle' line: 16

  • What went wrong:
    A problem occurred evaluating root project 'grails3-security-demo'.

    Could not find method plugins() for arguments [build_6g9hm93ufourj7tch1bq7okolr$_run_closure1@ae7d407] on root project 'grails3-security-demo'.

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

then I check line 16, which is:
plugins {
id "io.spring.dependency-management" version "0.5.4.RELEASE"
}

All pages vulnerable to CSRF

Every form in this UI is vulnerable to cross site request forgery. How can it be fixed? Is the application supposed to be automatically fixing all CSRF even in the transitive closure of plugins, via some filter/HTML modification hook? I'm new to Grails so I don't know how this is normally done (if at all).

This can trivially be fixed by wrapping every controller action in withForm.

class SomeController {
    def someAction = {
        // do stuff
    }
}

becomes

class SomeController {
    def someAction = {
        withForm {
            // do stuff
        }
    }
}

... then change all the GSP forms to attach the token.
<g:form method="post">
becomes
<g:form method="post" useToken="true">

Error in Role Delete

While deleting the user Role, doesn't delete the records, rather it persist.

Grails Version - 2.5.0
runtime ":hibernate4:4.3.8.1" // or ":hibernate:3.6.10.18"
compile "org.grails.plugins:spring-security-core:2.0.0"
compile "org.grails.plugins:spring-security-ui:1.0-RC3"

When generate war package,missing jquery.js

I have a project with grails 3.1.9,when export WAR package,the minified javascrpit file did not include jquery.js file.

http://localhost:8080/xxx/assets/spring-security-ui-aef7a75c488ca87f11a386b856c55a1b.js
spring-security-ui.unminified.js:397 Uncaught ReferenceError: jQuery is not defined

And in spring-security-ui.unminified.js,the variables still there:
//=require jquery/jquery-${grails.plugin.springsecurity.ui.Constants.JQUERY_VERSION}.js
//=require jquery-ui/jquery-ui-${grails.plugin.springsecurity.ui.Constants.JQUERY_UI_VERSION}.js

In development environment it is OK.

How to fix it?

Grils 3.3.0 with spring-security-ui:3.0.2 error

App won't run with spring-security-ui:3.0.2 as a dependency. Error is:

2017-09-06 22:32:02.068 ERROR --- [           main] o.s.b.f.s.DefaultListableBeanFactory     : Destroy method on bean with name 'org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor' threw an exception

java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@51b1a8f6: startup date [Wed Sep 06 22:31:53 BST 2017]; root of context hierarchy
	at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:414)
	at org.springframework.context.support.ApplicationListenerDetector.postProcessBeforeDestruction(ApplicationListenerDetector.java:97)
	at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:253)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:578)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:554)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:961)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:523)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:968)
	at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1030)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:556)
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
	at grails.boot.GrailsApp.run(GrailsApp.groovy:83)
	at grails.boot.GrailsApp.run(GrailsApp.groovy:388)
	at grails.boot.GrailsApp.run(GrailsApp.groovy:375)
	at grails.boot.GrailsApp$run.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
	at uk.co.channele.Application.main(Application.groovy:8)

2017-09-06 22:32:02.074 ERROR --- [           main] o.s.b.f.s.DefaultListableBeanFactory     : Destroy method on bean with name 'grailsApplicationPostProcessor' threw an exception

java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@51b1a8f6: startup date [Wed Sep 06 22:31:53 BST 2017]; root of context hierarchy
	at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:414)
	at org.springframework.context.support.ApplicationListenerDetector.postProcessBeforeDestruction(ApplicationListenerDetector.java:97)
	at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:253)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:578)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:554)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:961)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:523)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:968)
	at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1030)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:556)
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
	at grails.boot.GrailsApp.run(GrailsApp.groovy:83)
	at grails.boot.GrailsApp.run(GrailsApp.groovy:388)
	at grails.boot.GrailsApp.run(GrailsApp.groovy:375)
	at grails.boot.GrailsApp$run.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
Disconnected from the target VM, address: '127.0.0.1:32919', transport: 'socket'
	at uk.co.channele.Application.main(Application.groovy:8)

2017-09-06 22:32:02.075 ERROR --- [           main] o.s.b.f.s.DefaultListableBeanFactory     : Destroy method on bean with name 'org.springframework.boot.autoconfigure.internalCachingMetadataReaderFactory' threw an exception

java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@51b1a8f6: startup date [Wed Sep 06 22:31:53 BST 2017]; root of context hierarchy
	at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:414)
	at org.springframework.context.support.ApplicationListenerDetector.postProcessBeforeDestruction(ApplicationListenerDetector.java:97)
	at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:253)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:578)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:554)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:961)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:523)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:968)
	at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1030)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:556)
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
	at grails.boot.GrailsApp.run(GrailsApp.groovy:83)
	at grails.boot.GrailsApp.run(GrailsApp.groovy:388)
	at grails.boot.GrailsApp.run(GrailsApp.groovy:375)
	at grails.boot.GrailsApp$run.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
	at uk.co.channele.Application.main(Application.groovy:8)

2017-09-06 22:32:02.107 ERROR --- [           main] o.s.boot.SpringApplication               : Application startup failed

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'methodValidationPostProcessor' defined in class path resource [org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.class]: Unsatisfied dependency expressed through method 'methodValidationPostProcessor' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateDatastoreServiceRegistry': Cannot resolve reference to bean 'hibernateDatastore' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateDatastore': Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.grails.orm.hibernate.HibernateDatastore]: Constructor threw exception; nested exception is java.lang.NullPointerException
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:749)
	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:467)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1173)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1067)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
	at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:223)
	at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:703)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:528)
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
	at grails.boot.GrailsApp.run(GrailsApp.groovy:83)
	at grails.boot.GrailsApp.run(GrailsApp.groovy:388)
	at grails.boot.GrailsApp.run(GrailsApp.groovy:375)
	at grails.boot.GrailsApp$run.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
	at uk.co.channele.Application.main(Application.groovy:8)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateDatastoreServiceRegistry': Cannot resolve reference to bean 'hibernateDatastore' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateDatastore': Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.grails.orm.hibernate.HibernateDatastore]: Constructor threw exception; nested exception is java.lang.NullPointerException
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359)
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)
	at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:648)
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:145)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1193)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1095)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getSingletonFactoryBeanForTypeCheck(AbstractAutowireCapableBeanFactory.java:923)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:804)
	at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:558)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:432)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:395)
	at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:220)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1267)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1101)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066)
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835)
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741)
	... 24 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateDatastore': Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.grails.orm.hibernate.HibernateDatastore]: Constructor threw exception; nested exception is java.lang.NullPointerException
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:279)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1193)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1095)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351)
	... 40 common frames omitted
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.grails.orm.hibernate.HibernateDatastore]: Constructor threw exception; nested exception is java.lang.NullPointerException
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:154)
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:122)
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:271)
	... 49 common frames omitted
Caused by: java.lang.NullPointerException: null
	at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1337)
	at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1197)
	at java.beans.Introspector.getBeanInfo(Introspector.java:426)
	at java.beans.Introspector.getBeanInfo(Introspector.java:173)
	at groovy.lang.MetaClassImpl$15.run(MetaClassImpl.java:3313)
	at java.security.AccessController.doPrivileged(Native Method)
	at groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:3311)
	at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:3288)
	at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:260)
	at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:302)
	at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:261)
	at org.grails.datastore.mapping.reflect.ClassPropertyFetcher.getStaticPropertyValue(ClassPropertyFetcher.java:176)
	at org.grails.datastore.mapping.model.AbstractPersistentEntity.<init>(AbstractPersistentEntity.java:74)
	at org.grails.orm.hibernate.cfg.HibernatePersistentEntity.<init>(HibernatePersistentEntity.java:31)
	at org.grails.orm.hibernate.cfg.HibernateMappingContext.createPersistentEntity(HibernateMappingContext.java:147)
	at org.grails.datastore.mapping.model.AbstractMappingContext.addPersistentEntities(AbstractMappingContext.java:274)
	at org.grails.orm.hibernate.cfg.HibernateMappingContext.<init>(HibernateMappingContext.java:73)
	at org.grails.orm.hibernate.connections.HibernateConnectionSourceFactory.buildConfiguration(HibernateConnectionSourceFactory.java:94)
	at org.grails.orm.hibernate.connections.HibernateConnectionSourceFactory.create(HibernateConnectionSourceFactory.java:85)
	at org.grails.orm.hibernate.connections.AbstractHibernateConnectionSourceFactory.create(AbstractHibernateConnectionSourceFactory.java:38)
	at org.grails.orm.hibernate.connections.AbstractHibernateConnectionSourceFactory.create(AbstractHibernateConnectionSourceFactory.java:22)
	at org.grails.datastore.mapping.core.connections.AbstractConnectionSourceFactory.create(AbstractConnectionSourceFactory.java:64)
	at org.grails.datastore.mapping.core.connections.AbstractConnectionSourceFactory.create(AbstractConnectionSourceFactory.java:52)
	at org.grails.datastore.mapping.core.connections.ConnectionSourcesInitializer.create(ConnectionSourcesInitializer.groovy:24)
	at org.grails.orm.hibernate.HibernateDatastore.<init>(HibernateDatastore.java:189)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.springsource.loaded.ri.ReflectiveInterceptor.jlrConstructorNewInstance(ReflectiveInterceptor.java:1075)
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:142)
	... 51 common frames omitted

I'm not familiar with grails 3.3 (I usually use 2.4) but I believe second level cache is disabled, from application.yml:

hibernate:
    cache:
        queries: false
        use_second_level_cache: false
        use_query_cache: false

Java is openjdk 1.8.0_144.

Error in Updating or deleting user

While update or delete the users, it throws the following error

| Error 2016-12-16 19:07:53,874 [http-bio-8080-exec-11] ERROR ast.ErrorCounter - line 1:8: unexpected token: in
| Error 2016-12-16 19:07:53,878 [http-bio-8080-exec-11] ERROR ast.ErrorCounter - line 1:8: unexpected token: in
Message: unexpected token: in
Line | Method
->> 915 | doCall in grails.gorm.DetachedCriteria$_deleteAll_closure7


| 700 | doCall in org.grails.datastore.gorm.GormStaticApi$_withDatastoreSession_closure23
| 302 | execute . . . . . . in org.grails.datastore.mapping.core.DatastoreUtils
| 37 | execute in org.grails.datastore.gorm.AbstractDatastoreApi
| 699 | withDatastoreSession in org.grails.datastore.gorm.GormStaticApi
| 914 | deleteAll in grails.gorm.DetachedCriteria
| 73 | removeAll . . . . . in in.cdac.chn.authentication.PersonAuthority
| 324 | $tt__updateUser in grails.plugin.springsecurity.ui.SpringSecurityUiService
| 33 | updateUser . . . . . in grails.plugin.springsecurity.ui.strategy.DefaultUserStrategy
| 85 | doUpdate in grails.plugin.springsecurity.ui.AbstractS2UiDomainController
| 32 | update . . . . . . . in grails.plugin.springsecurity.ui.UserController
| 198 | doFilter in grails.plugin.cache.web.filter.PageFragmentCachingFilter
| 63 | doFilter . . . . . . in grails.plugin.cache.web.filter.AbstractFilter
| 53 | doFilter in grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter
| 62 | doFilter . . . . . . in grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter
| 59 | doFilter in grails.plugin.springsecurity.web.SecurityRequestHolderFilter
| 1142 | runWorker . . . . . in java.util.concurrent.ThreadPoolExecutor
| 617 | run in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run . . . . . . . . in java.lang.Thread
| Error 2016-12-16 19:07:53,966 [http-bio-8080-exec-11] ERROR errors.GrailsExceptionResolver - QuerySyntaxException occurred when processing request: [POST] /stest/user/update - parameters:
version: 0
enabled: on
password: ***
_ROLE_USER:
ROLE_USER: on
_accountExpired:
ROLE_ADMIN: on
id: 2
_passwordExpired:
_enabled:
_accountLocked:
username: test
_ROLE_ADMIN:
unexpected token: in near line 1, column 8 [DELETE in.chn.authentication.PersonAuthority personAuthority WHERE (personAuthority.person=?)]. Stacktrace follows:
Message: unexpected token: in near line 1, column 8 [DELETE in.chn.authentication.PersonAuthority personAuthority WHERE (personAuthority.person=?)]
Line | Method
->> 915 | doCall in grails.gorm.DetachedCriteria$_deleteAll_closure7


| 700 | doCall in org.grails.datastore.gorm.GormStaticApi$_withDatastoreSession_closure23
| 302 | execute . . . . . . in org.grails.datastore.mapping.core.DatastoreUtils
| 37 | execute in org.grails.datastore.gorm.AbstractDatastoreApi
| 699 | withDatastoreSession in org.grails.datastore.gorm.GormStaticApi
| 914 | deleteAll in grails.gorm.DetachedCriteria
| 73 | removeAll . . . . . in in.chn.authentication.PersonAuthority
| 324 | $tt__updateUser in grails.plugin.springsecurity.ui.SpringSecurityUiService
| 33 | updateUser . . . . . in grails.plugin.springsecurity.ui.strategy.DefaultUserStrategy
| 85 | doUpdate in grails.plugin.springsecurity.ui.AbstractS2UiDomainController
| 32 | update . . . . . . . in grails.plugin.springsecurity.ui.UserController
| 198 | doFilter in grails.plugin.cache.web.filter.PageFragmentCachingFilter
| 63 | doFilter . . . . . . in grails.plugin.cache.web.filter.AbstractFilter
| 53 | doFilter in grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter
| 62 | doFilter . . . . . . in grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter
| 59 | doFilter in grails.plugin.springsecurity.web.SecurityRequestHolderFilter
| 1142 | runWorker . . . . . in java.util.concurrent.ThreadPoolExecutor
| 617 | run in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run . . . . . . . . in java.lang.Thread

Grails Version - 2.5.0
runtime ":hibernate4:4.3.8.1" // or ":hibernate:3.6.10.18"
compile "org.grails.plugins:spring-security-core:2.0.0"
compile "org.grails.plugins:spring-security-ui:1.0-RC3"

saml plugin conflict with spring security plugin

can anyone get me out of below problem.

2017-03-26 16:52:12,961 [localhost-startStop-1] INFO commons.TagLibArtefactHandler - There are conflicting tags: es.salenda.grails.plugin.springsecurity.saml.SamlTagLib.sec:loggedInUserInfo vs. grails.plugin.springsecurity.SecurityTagLib.sec:loggedInUserInfo. The former will take precedence. 2017-03-26 16:52:12,962 [localhost-startStop-1] INFO commons.TagLibArtefactHandler - There are conflicting tags: es.salenda.grails.plugin.springsecurity.saml.SamlTagLib.sec:ifNotGranted vs. grails.plugin.springsecurity.SecurityTagLib.sec:ifNotGranted. The former will take precedence. 2017-03-26 16:52:12,962 [localhost-startStop-1] INFO commons.TagLibArtefactHandler - There are conflicting tags: es.salenda.grails.plugin.springsecurity.saml.SamlTagLib.sec:switchedUserOriginalUsername vs. grails.plugin.springsecurity.SecurityTagLib.sec:switchedUserOriginalUsername. The former will take precedence. 2017-03-26 16:52:12,962 [localhost-startStop-1] INFO commons.TagLibArtefactHandler - There are conflicting tags: es.salenda.grails.plugin.springsecurity.saml.SamlTagLib.sec:ifLoggedIn vs. grails.plugin.springsecurity.SecurityTagLib.sec:ifLoggedIn. The former will take precedence.

Email I18N

Registration and forgot password emails have config-driven body and subject lines. Rather than pulling these values from config, they should come from message bundles.

Cannot install plugin

Hi everybody,
The following error is produced when applying changes to project structure:
Error |
Resolve error obtaining dependencies: Could not find artifact org.grails.plugins:spring-security-ui:jar:1.0-RC3 in grailsCentral (http://repo.grails.org/grails/plugins) (Use --stacktrace to see the full trace)
Error |
Resolve error obtaining dependencies: Could not find artifact org.grails.plugins:spring-security-ui:jar:1.0-RC3 in grailsCentral (http://repo.grails.org/grails/plugins) (Use --stacktrace to see the full trace)
Error |
Resolve error obtaining dependencies: Could not find artifact org.grails.plugins:spring-security-ui:jar:1.0-RC3 in grailsCentral (http://repo.grails.org/grails/plugins) (Use --stacktrace to see the full trace)
Error |
Could not find artifact org.grails.plugins:spring-security-ui:jar:1.0-RC3 in grailsCentral (http://repo.grails.org/grails/plugins)

Environment:

  • Java 1.7
  • Grails 2.3.8
  • IntelliJ IDEA 15 as IDE

Dependency added to BuildConfig.groovy:
compile "org.grails.plugins:spring-security-ui:1.0-RC3"

Thanks in advance.

Exception overriding "register"

Grails version: 3.0.12
Grails Spring Security Core: 3.0.4
Grails Spring Security UI: 3.0.0.M1

s2ui-override register my.package

Copying register resources
| Error Error occurred running Grails CLI: Failed to parse template script (your template may contain an error or be trying to use expressions not currently supported): startup failed:
GStringTemplateScript1.groovy: -1: unable to resolve class org.springframework.beans.factory.annotation.Autowired
@ line -1, column -1.
1 error

CLOSED: my fault, sorry. Wrong version of Grails in Terminal :(

Not working with grails 3.0.15

Hi,

With grails 3.0.15 I get the following error:

| Running application...

Configuring Spring Security Core ...
... finished configuring Spring Security Core


Configuring Spring Security UI ...
... finished configuring Spring Security UI

ERROR org.springframework.boot.context.embedded.tomcat.TomcatStarter - Error starting Tomcat context: org.springframework.beans.factory.BeanCreationException
ERROR grails.boot.GrailsApp - Application startup failed
Exception in thread "main" org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:132) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:474) ~[spring-context-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:117) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:689) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
    at grails.boot.GrailsApp.run(GrailsApp.groovy:55) [grails-core-3.0.15.jar:3.0.15]
    at grails.boot.GrailsApp.run(GrailsApp.groovy:347) [grails-core-3.0.15.jar:3.0.15]
    at grails.boot.GrailsApp.run(GrailsApp.groovy:336) [grails-core-3.0.15.jar:3.0.15]
    at grails.boot.GrailsApp$run.call(Unknown Source) [grails-core-3.0.15.jar:3.0.15]
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) [groovy-2.4.5.jar:2.4.5]
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) [groovy-2.4.5.jar:2.4.5]
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133) [groovy-2.4.5.jar:2.4.5]
    at readynow.Application.main(Application.groovy:8) [main/:na]
Caused by: org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:98) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:75) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:377) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:155) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:156) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:129) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
    ... 12 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsCacheFilter': Cannot create inner bean '(inner bean)#7c77371' of type [grails.plugin.cache.web.filter.simple.MemoryPageFragmentCachingFilter] while setting bean property 'filter'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#7c77371': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void grails.plugin.cache.web.filter.PageFragmentCachingFilter.setUrlMappingsHandlerMapping(org.grails.web.mapping.mvc.UrlMappingsHandlerMapping); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'urlMappingsHandlerMapping': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsInterceptorMappedInterceptor': Cannot create inner bean '(inner bean)#681527a3' of type [org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter] while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#681527a3': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter.setInterceptors(grails.artefact.Interceptor[]); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityUiInterceptor': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'grailsApplication' threw exception; nested exception is java.lang.AbstractMethodError: grails.plugin.springsecurity.ui.SpringSecurityUiInterceptor.setGrailsApplication(Lgrails/core/GrailsApplication;)V
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:313) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:129) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1475) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1220) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.boot.context.embedded.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:211) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
    at org.springframework.boot.context.embedded.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:85) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
    at org.springframework.boot.context.embedded.ServletContextInitializerBeans.<init>(ServletContextInitializerBeans.java:73) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.getServletContextInitializerBeans(EmbeddedWebApplicationContext.java:233) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.selfInitialize(EmbeddedWebApplicationContext.java:220) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.access$000(EmbeddedWebApplicationContext.java:84) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext$1.onStartup(EmbeddedWebApplicationContext.java:205) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
    at org.springframework.boot.context.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:54) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5170) ~[tomcat-embed-core-8.0.28.jar:8.0.28]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.0.28.jar:8.0.28]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408) ~[tomcat-embed-core-8.0.28.jar:8.0.28]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398) ~[tomcat-embed-core-8.0.28.jar:8.0.28]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) ~[na:1.7.0_95]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ~[na:1.7.0_95]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~[na:1.7.0_95]
    at java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_95]
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#7c77371': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void grails.plugin.cache.web.filter.PageFragmentCachingFilter.setUrlMappingsHandlerMapping(org.grails.web.mapping.mvc.UrlMappingsHandlerMapping); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'urlMappingsHandlerMapping': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsInterceptorMappedInterceptor': Cannot create inner bean '(inner bean)#681527a3' of type [org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter] while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#681527a3': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter.setInterceptors(grails.artefact.Interceptor[]); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityUiInterceptor': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'grailsApplication' threw exception; nested exception is java.lang.AbstractMethodError: grails.plugin.springsecurity.ui.SpringSecurityUiInterceptor.setGrailsApplication(Lgrails/core/GrailsApplication;)V
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1208) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:299) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    ... 25 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void grails.plugin.cache.web.filter.PageFragmentCachingFilter.setUrlMappingsHandlerMapping(org.grails.web.mapping.mvc.UrlMappingsHandlerMapping); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'urlMappingsHandlerMapping': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsInterceptorMappedInterceptor': Cannot create inner bean '(inner bean)#681527a3' of type [org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter] while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#681527a3': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter.setInterceptors(grails.artefact.Interceptor[]); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityUiInterceptor': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'grailsApplication' threw exception; nested exception is java.lang.AbstractMethodError: grails.plugin.springsecurity.ui.SpringSecurityUiInterceptor.setGrailsApplication(Lgrails/core/GrailsApplication;)V
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:649) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    ... 29 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'urlMappingsHandlerMapping': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsInterceptorMappedInterceptor': Cannot create inner bean '(inner bean)#681527a3' of type [org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter] while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#681527a3': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter.setInterceptors(grails.artefact.Interceptor[]); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityUiInterceptor': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'grailsApplication' threw exception; nested exception is java.lang.AbstractMethodError: grails.plugin.springsecurity.ui.SpringSecurityUiInterceptor.setGrailsApplication(Lgrails/core/GrailsApplication;)V
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1120) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1044) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:942) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:606) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    ... 31 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsInterceptorMappedInterceptor': Cannot create inner bean '(inner bean)#681527a3' of type [org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter] while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#681527a3': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter.setInterceptors(grails.artefact.Interceptor[]); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityUiInterceptor': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'grailsApplication' threw exception; nested exception is java.lang.AbstractMethodError: grails.plugin.springsecurity.ui.SpringSecurityUiInterceptor.setGrailsApplication(Lgrails/core/GrailsApplication;)V
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:313) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:129) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:648) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:140) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1137) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1040) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:523) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:1064) ~[spring-context-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.BeanFactoryUtils.beansOfTypeIncludingAncestors(BeanFactoryUtils.java:276) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.web.servlet.handler.AbstractHandlerMapping.detectMappedInterceptors(AbstractHandlerMapping.java:221) ~[spring-webmvc-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.web.servlet.handler.AbstractHandlerMapping.initApplicationContext(AbstractHandlerMapping.java:196) ~[spring-webmvc-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.context.support.ApplicationObjectSupport.initApplicationContext(ApplicationObjectSupport.java:120) ~[spring-context-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.web.context.support.WebApplicationObjectSupport.initApplicationContext(WebApplicationObjectSupport.java:76) ~[spring-web-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.context.support.ApplicationObjectSupport.setApplicationContext(ApplicationObjectSupport.java:74) ~[spring-context-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.context.support.ApplicationContextAwareProcessor.invokeAwareInterfaces(ApplicationContextAwareProcessor.java:119) ~[spring-context-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:94) ~[spring-context-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:408) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1564) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    ... 40 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#681527a3': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter.setInterceptors(grails.artefact.Interceptor[]); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityUiInterceptor': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'grailsApplication' threw exception; nested exception is java.lang.AbstractMethodError: grails.plugin.springsecurity.ui.SpringSecurityUiInterceptor.setGrailsApplication(Lgrails/core/GrailsApplication;)V
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1208) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:299) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    ... 64 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter.setInterceptors(grails.artefact.Interceptor[]); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityUiInterceptor': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'grailsApplication' threw exception; nested exception is java.lang.AbstractMethodError: grails.plugin.springsecurity.ui.SpringSecurityUiInterceptor.setGrailsApplication(Lgrails/core/GrailsApplication;)V
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:649) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:132)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:474)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:117)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:689)
    ... 68 common frames omitted
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:321)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityUiInterceptor': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
    at grails.boot.GrailsApp.run(GrailsApp.groovy:55)
    at grails.boot.GrailsApp.run(GrailsApp.groovy:347)
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'grailsApplication' threw exception; nested exception is java.lang.AbstractMethodError: grails.plugin.springsecurity.ui.SpringSecurityUiInterceptor.setGrailsApplication(Lgrails/core/GrailsApplication;)V
    at grails.boot.GrailsApp.run(GrailsApp.groovy:336)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1512) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at grails.boot.GrailsApp$run.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1220) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at readynow.Application.main(Application.groovy:8)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
Caused by: org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:98)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) ~  at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:75)
[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:377)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:155)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1120) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:156)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:969) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:129)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:942) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    ... 12 more
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:606) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    ... 70 common frames omitted
Caused by: org.springframework.beans.PropertyBatchUpdateException: Failed properties: Property 'grailsApplication' threw exception; nested exception is java.lang.AbstractMethodError: grails.plugin.springsecurity.ui.SpringSecurityUiInterceptor.setGrailsApplication(Lgrails/core/GrailsApplication;)V
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:121) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:75) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1508) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
    ... 81 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsCacheFilter': Cannot create inner bean '(inner bean)#7c77371' of type [grails.plugin.cache.web.filter.simple.MemoryPageFragmentCachingFilter] while setting bean property 'filter'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#7c77371': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void grails.plugin.cache.web.filter.PageFragmentCachingFilter.setUrlMappingsHandlerMapping(org.grails.web.mapping.mvc.UrlMappingsHandlerMapping); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'urlMappingsHandlerMapping': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsInterceptorMappedInterceptor': Cannot create inner bean '(inner bean)#681527a3' of type [org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter] while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#681527a3': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter.setInterceptors(grails.artefact.Interceptor[]); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityUiInterceptor': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'grailsApplication' threw exception; nested exception is java.lang.AbstractMethodError: grails.plugin.springsecurity.ui.SpringSecurityUiInterceptor.setGrailsApplication(Lgrails/core/GrailsApplication;)V
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:313)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:129)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1475)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1220)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
    at org.springframework.boot.context.embedded.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:211)
    at org.springframework.boot.context.embedded.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:85)
    at org.springframework.boot.context.embedded.ServletContextInitializerBeans.<init>(ServletContextInitializerBeans.java:73)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.getServletContextInitializerBeans(EmbeddedWebApplicationContext.java:233)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.selfInitialize(EmbeddedWebApplicationContext.java:220)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.access$000(EmbeddedWebApplicationContext.java:84)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext$1.onStartup(EmbeddedWebApplicationContext.java:205)
    at org.springframework.boot.context.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:54)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5170)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#7c77371': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void grails.plugin.cache.web.filter.PageFragmentCachingFilter.setUrlMappingsHandlerMapping(org.grails.web.mapping.mvc.UrlMappingsHandlerMapping); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'urlMappingsHandlerMapping': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsInterceptorMappedInterceptor': Cannot create inner bean '(inner bean)#681527a3' of type [org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter] while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#681527a3': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter.setInterceptors(grails.artefact.Interceptor[]); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityUiInterceptor': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'grailsApplication' threw exception; nested exception is java.lang.AbstractMethodError: grails.plugin.springsecurity.ui.SpringSecurityUiInterceptor.setGrailsApplication(Lgrails/core/GrailsApplication;)V
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1208)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:299)
    ... 25 more
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void grails.plugin.cache.web.filter.PageFragmentCachingFilter.setUrlMappingsHandlerMapping(org.grails.web.mapping.mvc.UrlMappingsHandlerMapping); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'urlMappingsHandlerMapping': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsInterceptorMappedInterceptor': Cannot create inner bean '(inner bean)#681527a3' of type [org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter] while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#681527a3': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter.setInterceptors(grails.artefact.Interceptor[]); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityUiInterceptor': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'grailsApplication' threw exception; nested exception is java.lang.AbstractMethodError: grails.plugin.springsecurity.ui.SpringSecurityUiInterceptor.setGrailsApplication(Lgrails/core/GrailsApplication;)V
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:649)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)
    ... 29 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'urlMappingsHandlerMapping': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsInterceptorMappedInterceptor': Cannot create inner bean '(inner bean)#681527a3' of type [org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter] while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#681527a3': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter.setInterceptors(grails.artefact.Interceptor[]); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityUiInterceptor': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'grailsApplication' threw exception; nested exception is java.lang.AbstractMethodError: grails.plugin.springsecurity.ui.SpringSecurityUiInterceptor.setGrailsApplication(Lgrails/core/GrailsApplication;)V
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1120)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1044)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:942)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:606)
    ... 31 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsInterceptorMappedInterceptor': Cannot create inner bean '(inner bean)#681527a3' of type [org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter] while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#681527a3': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter.setInterceptors(grails.artefact.Interceptor[]); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityUiInterceptor': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'grailsApplication' threw exception; nested exception is java.lang.AbstractMethodError: grails.plugin.springsecurity.ui.SpringSecurityUiInterceptor.setGrailsApplication(Lgrails/core/GrailsApplication;)V
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:313)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:129)
    at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:648)
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:140)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1137)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1040)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:523)
    at org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:1064)
    at org.springframework.beans.factory.BeanFactoryUtils.beansOfTypeIncludingAncestors(BeanFactoryUtils.java:276)
    at org.springframework.web.servlet.handler.AbstractHandlerMapping.detectMappedInterceptors(AbstractHandlerMapping.java:221)
    at org.springframework.web.servlet.handler.AbstractHandlerMapping.initApplicationContext(AbstractHandlerMapping.java:196)
    at org.springframework.context.support.ApplicationObjectSupport.initApplicationContext(ApplicationObjectSupport.java:120)
    at org.springframework.web.context.support.WebApplicationObjectSupport.initApplicationContext(WebApplicationObjectSupport.java:76)
    at org.springframework.context.support.ApplicationObjectSupport.setApplicationContext(ApplicationObjectSupport.java:74)
    at org.springframework.context.support.ApplicationContextAwareProcessor.invokeAwareInterfaces(ApplicationContextAwareProcessor.java:119)
    at org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:94)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:408)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1564)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
    ... 40 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#681527a3': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter.setInterceptors(grails.artefact.Interceptor[]); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityUiInterceptor': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'grailsApplication' threw exception; nested exception is java.lang.AbstractMethodError: grails.plugin.springsecurity.ui.SpringSecurityUiInterceptor.setGrailsApplication(Lgrails/core/GrailsApplication;)V
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1208)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:299)
    ... 64 more
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.plugins.web.interceptors.GrailsInterceptorHandlerInterceptorAdapter.setInterceptors(grails.artefact.Interceptor[]); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityUiInterceptor': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'grailsApplication' threw exception; nested exception is java.lang.AbstractMethodError: grails.plugin.springsecurity.ui.SpringSecurityUiInterceptor.setGrailsApplication(Lgrails/core/GrailsApplication;)V
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:649)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)
    ... 68 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityUiInterceptor': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'grailsApplication' threw exception; nested exception is java.lang.AbstractMethodError: grails.plugin.springsecurity.ui.SpringSecurityUiInterceptor.setGrailsApplication(Lgrails/core/GrailsApplication;)V
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1512)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1220)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1120)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:969)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:942)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:606)
    ... 70 more
Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'grailsApplication' threw exception; nested exception is java.lang.AbstractMethodError: grails.plugin.springsecurity.ui.SpringSecurityUiInterceptor.setGrailsApplication(Lgrails/core/GrailsApplication;)V
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:121)
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:75)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1508)
    ... 81 more

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':bootRun'.
> Process 'command '/usr/lib/jvm/java-7-openjdk-amd64/bin/java'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

With grails 3.0.14 the plugin without any problem. What I did (3.0.14 and 3.0.15)?

grails create-app

and added the following configuration

compile "org.grails.plugins:spring-security-core:3.0.4" 
compile "org.grails.plugins:spring-security-ui:3.0.0.M1"

Thanks,

Best regards!

Refactor UserController as demonstrated in PR 13

PR #13 is an old PR that provided a nice refactoring of some logic in the UserController but now has conflicts.

The purpose of this issue is to:

  1. request a new PR be created which applies the original refactoring
  2. a test be created
  3. the old PR be closed

continuous-integration/travis-ci/pr โ€” The Travis CI build failed

All checks have failed
1 failing check
Details
continuous-integration/travis-ci/pr โ€” The Travis CI build failed. This seems to be for Pull request to the 1.x branch and started sometime around #34 opened on Nov 3, 2015.

Getting error message that Completed 32 spock tests, 32 failed in 1m 57s

| Server stopped

| Tests FAILED - view reports in /home/travis/build/grails-plugins/grails-spring-security-ui/functional-test-app/target/test-reports.

When running test-app locally the test are successful though its only 7.

Exception from UserController

I have a clean grails 2.2 app with a few domain classes, and after adding the security UI plugin I'm getting the following exception when accessing /user.

| Error 2013-02-10 20:00:50,400 [http-bio-8080-exec-5] ERROR [/].[default] - Servlet.service() for servlet [default] in context with path [] threw exception [org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grails.plugins.springsecurity.ui.UserController': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [grails.plugins.springsecurity.ui.UserController]: Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityUiService': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: net/sf/cglib/core/DebuggingClassWriter] with root cause
Message: net.sf.cglib.core.DebuggingClassWriter
Line | Method
->> 202 | run in java.net.URLClassLoader$1


| 190 | findClass in java.net.URLClassLoader
| 306 | loadClass . . . in java.lang.ClassLoader
| 247 | loadClass in ''
| 30 | getClassWriter . in net.sf.cglib.core.DefaultGeneratorStrategy
| 24 | generate in ''
| 216 | create . . . . . in net.sf.cglib.core.AbstractClassGenerator
| 144 | create in net.sf.cglib.core.KeyFactory$Generator
| 116 | create . . . . . in net.sf.cglib.core.KeyFactory
| 108 | create in ''
| 104 | create . . . . . in ''
| 196 | getBean in grails.plugin.cache.web.filter.AbstractFilter
| 842 | lookupController in grails.plugin.cache.web.filter.PageFragmentCachingFilter
| 176 | doFilter in ''
| 63 | doFilter . . . . in grails.plugin.cache.web.filter.AbstractFilter
| 80 | doFilterInternal in com.granicus.grails.plugins.cookiesession.CookieSessionFilter
| 886 | runTask . . . . in java.util.concurrent.ThreadPoolExecutor$Worker
| 908 | run in ''
^ 680 | run . . . . . . in java.lang.Thread

The full app is available on Git Hub at https://github.com/grails-galahad/webapp/tree/security-ui.

Error with Grails Spring Security UI Plugin when creating new user - Error Processing GroovyPageView

I'm getting the following error using the Spring Security UI Plugin when I click on the link to create a new user:

"Error processing GroovyPageView: Error executing tag <s2ui:form>: Error executing tag <s2ui:tabs>: Error executing tag <s2ui:tab>: Error executing tag <s2ui:textFieldRow>: assert beanType | null"

I'm running Grails 2.5.5 with SpringSecurityCore 2.0.0 and SpringSecurityUI 1.0-RC3. I have not customized anything about the plugins.

Everything was working fine for several days. I'm able to create Roles, I can search for and edit Users. Everything except the ability to create a new User. I've spent over 8 hours trying to debug this.

Here's the trace:

`Line | Method
->> 528 | doFilter in /home/mdavis/development/grails/maintenanceManager/target/work/plugins/spring-security-ui-1.0-RC3/grails-app/views/user/create.gsp


Caused by GrailsTagException: Error executing tag s2ui:form: Error executing tag s2ui:tabs: Error executing tag s2ui:tab: Error executing tag s2ui:textFieldRow: assert beanType
|
null
->> 35 | doCall in /home/mdavis/development/grails/maintenanceManager/target/work/plugins/spring-security-ui-1.0-RC3/grails-app/views/user/create.gsp


Caused by GrailsTagException: Error executing tag s2ui:tabs: Error executing tag s2ui:tab: Error executing tag s2ui:textFieldRow: assert beanType
|
null
->> 31 | doCall in /home/mdavis/development/grails/maintenanceManager/target/work/plugins/spring-security-ui-1.0-RC3/grails-app/views/user/create.gsp


Caused by GrailsTagException: Error executing tag s2ui:tab: Error executing tag s2ui:textFieldRow: assert beanType
|
null
->> 21 | doCall in /home/mdavis/development/grails/maintenanceManager/target/work/plugins/spring-security-ui-1.0-RC3/grails-app/views/user/create.gsp


Caused by GrailsTagException: Error executing tag s2ui:textFieldRow: assert beanType
|
null
->> 13 | doCall in /home/mdavis/development/grails/maintenanceManager/target/work/plugins/spring-security-ui-1.0-RC3/grails-app/views/user/create.gsp


Caused by PowerAssertionError: assert beanType
|
null
->> 817 | labelCode in SecurityUiTagLib.groovy`

Any help would be greatly appreciated. Sorry in advance if this is hard to read, I've never posted anything here before.

Thanks in advance.

Mick

Stale documentation on http://grails-plugins.github.io/grails-spring-security-ui/

The link to "Current documentation" is a year out of date.

Felt it was worth noting as dependency resolution between then and now has significantly changed with only the one liner 'compile 'org.grails.plugins:spring-security-ui:3.0.2' making making life a whole lot easier from an integration standpoint.

Updating the site could save some time for future users. Keep up the great work :)

User update removes all user roles

When updating a user, it removes all role associations, unless the user has none, than it does work.

Meaning you always have to update the user twice (re-selecting all roles).
I noticed that behaviour for versions:
3.1.0
3.1.1

I believe this is due to grails 3.3 taking hibernate a little different.
Currently this plugin simply deletes all UserRole and recreates the new ones.
However, as the whole function is inside a @transactional statement, this does not work as planned.
Even when setting flush to true, it only creates the diff of roles.
This means, even though having deleted (and flushed), the old userRoles are still recognized on "create" and are not beeing re-created.

I have played around a little bit and found only one working solution:
Do not delete all, check what to delete and what to create

I don't know if this is the "clean" way to do it, however I will make a PR with this change, and you can decide.

If it's not ok, please implement a different fix, because as of now, this is a major problem for us.
You want to change the user password -> roles get deleted.

EDIT:
I have also noticed, that with the current master, it is not possible to update users at all.

Setup:
Groovy 2.4.11
Java 1.8.0_161
grails 3.3.0
gradle 3.5
gorm 6.1.6.RELEASE

BR,
Alex

after add security ui, grails run-app failed

build.gradle
compile 'org.grails.plugins:spring-security-core:3.0.3'
compile "org.grails.plugins:spring-security-acl:3.0.1"
compile "org.grails.plugins:spring-security-ui:3.0.0.M1"

grails compile OK

grails run-app
| Running application...

Configuring Spring Security Core ...
... finished configuring Spring Security Core

Configuring Spring Security ACL ...
... finished configuring Spring Security ACL

Configuring Spring Security UI ...
... finished configuring Spring Security UI

ERROR grails.boot.GrailsApp - Application startup failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sessionFactory': Unsatisfied dependency expressed through bean property 'cacheableMappingLocations': : Error creating bean with name 'ehcacheAclCache': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cache.ehcache.EhCacheFactoryBean]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.cache.ehcache.EhCacheFactoryBean.setMaxEntriesLocalHeap(J)V; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehcacheAclCache': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cache.ehcache.EhCacheFactoryBean]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.cache.ehcache.EhCacheFactoryBean.setMaxEntriesLocalHeap(J)V
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:199) ~[spring-context-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:616) ~[spring-context-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:465) ~[spring-context-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:117) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:689) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE]
at grails.boot.GrailsApp.run(GrailsApp.groovy:51) [grails-core-3.0.11.jar:3.0.11]
at grails.boot.GrailsApp.run(GrailsApp.groovy:335) [grails-core-3.0.11.jar:3.0.11]
at grails.boot.GrailsApp.run(GrailsApp.groovy:324) [grails-core-3.0.11.jar:3.0.11]
at grails.boot.GrailsApp$run.call(Unknown Source) [grails-core-3.0.11.jar:3.0.11]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133) [groovy-2.4.5.jar:2.4.5]
at grails3.security.demo.Application.main(Application.groovy:8) [main/:na]
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sessionFactory': Unsatisfied dependency expressed through bean property 'cacheableMappingLocations': : Error creating bean with name 'ehcacheAclCache': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cache.ehcache.EhCacheFactoryBean]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.cache.ehcache.EhCacheFactoryBean.setMaxEntriesLocalHeap(J)V; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehcacheAclCache': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cache.ehcache.EhCacheFactoryBean]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.cache.ehcache.EhCacheFactoryBean.setMaxEntriesLocalHeap(J)V
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1475) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1220) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.grails.transaction.TransactionManagerPostProcessor.initialize(TransactionManagerPostProcessor.java:75) ~[grails-core-3.0.11.jar:3.0.11]
at org.grails.transaction.TransactionManagerPostProcessor.setBeanFactory(TransactionManagerPostProcessor.java:53) ~[grails-core-3.0.11.jar:3.0.11]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeAwareMethods(AbstractAutowireCapableBeanFactory.java:1591) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1559) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
... 19 common frames omitted
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sessionFactory': Unsatisfied dependency expressed through bean property 'cacheableMappingLocations': : Error creating bean with name 'ehcacheAclCache': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cache.ehcache.EhCacheFactoryBean]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.cache.ehcache.EhCacheFactoryBean.setMaxEntriesLocalHeap(J)V; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehcacheAclCache': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cache.ehcache.EhCacheFactoryBean]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.cache.ehcache.EhCacheFactoryBean.setMaxEntriesLocalHeap(J)V
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1301) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1193) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
... 33 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehcacheAclCache': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cache.ehcache.EhCacheFactoryBean]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.cache.ehcache.EhCacheFactoryBean.setMaxEntriesLocalHeap(J)V
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1099) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1044) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getSingletonFactoryBeanForTypeCheck(AbstractAutowireCapableBeanFactory.java:859) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:790) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:542) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:436) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:404) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:186) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1105) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:969) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:942) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1286) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
... 41 common frames omitted
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cache.ehcache.EhCacheFactoryBean]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.cache.ehcache.EhCacheFactoryBean.setMaxEntriesLocalHeap(J)V
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.grails.spring.beans.factory.OptimizedAutowireCapableBeanFactory$1.instantiate(OptimizedAutowireCapableBeanFactory.java:89) ~[grails-core-3.0.11.jar:3.0.11]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1092) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
... 52 common frames omitted
Caused by: java.lang.NoSuchMethodError: org.springframework.cache.ehcache.EhCacheFactoryBean.setMaxEntriesLocalHeap(J)V
at org.springframework.cache.ehcache.EhCacheFactoryBean.(EhCacheFactoryBean.java:101) ~[spring-context-support-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_51]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_51]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_51]
at java.lang.reflect.Constructor.newInstance(Constructor.java:422) ~[na:1.8.0_51]
at org.springsource.loaded.ri.ReflectiveInterceptor.jlrConstructorNewInstance(ReflectiveInterceptor.java:1075) ~[springloaded-1.2.5.RELEASE.jar:1.2.5.RELEASE]
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
... 54 common frames omitted
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sessionFactory': Unsatisfied dependency expressed through bean property 'cacheableMappingLocations': : Error creating bean with name 'ehcacheAclCache': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cache.ehcache.EhCacheFactoryBean]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.cache.ehcache.EhCacheFactoryBean.setMaxEntriesLocalHeap(J)V; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehcacheAclCache': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cache.ehcache.EhCacheFactoryBean]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.cache.ehcache.EhCacheFactoryBean.setMaxEntriesLocalHeap(J)V
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:199)
at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:616)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:465)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:117)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:689)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:321)
at grails.boot.GrailsApp.run(GrailsApp.groovy:51)
at grails.boot.GrailsApp.run(GrailsApp.groovy:335)
at grails.boot.GrailsApp.run(GrailsApp.groovy:324)
at grails.boot.GrailsApp$run.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
at grails3.security.demo.Application.main(Application.groovy:8)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sessionFactory': Unsatisfied dependency expressed through bean property 'cacheableMappingLocations': : Error creating bean with name 'ehcacheAclCache': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cache.ehcache.EhCacheFactoryBean]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.cache.ehcache.EhCacheFactoryBean.setMaxEntriesLocalHeap(J)V; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehcacheAclCache': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cache.ehcache.EhCacheFactoryBean]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.cache.ehcache.EhCacheFactoryBean.setMaxEntriesLocalHeap(J)V
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1475)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1220)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at org.grails.transaction.TransactionManagerPostProcessor.initialize(TransactionManagerPostProcessor.java:75)
at org.grails.transaction.TransactionManagerPostProcessor.setBeanFactory(TransactionManagerPostProcessor.java:53)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeAwareMethods(AbstractAutowireCapableBeanFactory.java:1591)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1559)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
... 19 more
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sessionFactory': Unsatisfied dependency expressed through bean property 'cacheableMappingLocations': : Error creating bean with name 'ehcacheAclCache': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cache.ehcache.EhCacheFactoryBean]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.cache.ehcache.EhCacheFactoryBean.setMaxEntriesLocalHeap(J)V; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehcacheAclCache': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cache.ehcache.EhCacheFactoryBean]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.cache.ehcache.EhCacheFactoryBean.setMaxEntriesLocalHeap(J)V
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1301)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1193)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351)
... 33 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehcacheAclCache': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cache.ehcache.EhCacheFactoryBean]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.cache.ehcache.EhCacheFactoryBean.setMaxEntriesLocalHeap(J)V
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1099)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1044)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getSingletonFactoryBeanForTypeCheck(AbstractAutowireCapableBeanFactory.java:859)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:790)
at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:542)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:436)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:404)
at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:186)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1105)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:969)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:942)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1286)
... 41 more
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cache.ehcache.EhCacheFactoryBean]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.cache.ehcache.EhCacheFactoryBean.setMaxEntriesLocalHeap(J)V
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163)
at org.grails.spring.beans.factory.OptimizedAutowireCapableBeanFactory$1.instantiate(OptimizedAutowireCapableBeanFactory.java:89)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1092)
... 52 more
Caused by: java.lang.NoSuchMethodError: org.springframework.cache.ehcache.EhCacheFactoryBean.setMaxEntriesLocalHeap(J)V
at org.springframework.cache.ehcache.EhCacheFactoryBean.(EhCacheFactoryBean.java:101)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.springsource.loaded.ri.ReflectiveInterceptor.jlrConstructorNewInstance(ReflectiveInterceptor.java:1075)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
... 54 more

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':bootRun'.

    Process 'command '/home/jack/github/myPractice/jdk1.8.0_51/bin/java'' finished with non-zero exit value 1

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
    | Error Failed to start server (Use --stacktrace to see the full trace)

Is sessionFactory bean not injected? do I need configure grails somewhere to support security UI?

Unable to bring up grails application - Grails 3.3.0 RC1

Unable to start the grails application with spring-security-core plugin 3.2.0.M1 and spring-security-ui 3.0.2 .

build.gradle has the following:
compile 'org.grails.plugins:spring-security-ui:3.0.2'
compile 'org.grails.plugins:spring-security-core:3.2.0.M1'

Caused by: java.lang.ClassNotFoundException: org.springframework.boot.context.embedded.FilterRegistrationBean

Grails 3.1.0 compability

Hi,

after upgrading from 3.0.11 to 3.1.0 plugin is not working any more and prevents application to start.
I think it has something to do with the new version of GORM.
Thanks a lot in advance for tanking care!

Best Regards!

Here some lines of the console output:

ERROR grails.boot.GrailsApp - Application startup failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsApplicationPostProcessor' defined in fnx1.Application: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [grails.boot.config.GrailsApplicationPostProcessor]: Factory method 'grailsApplicationPostProcessor' threw exception; nested exception is grails.plugins.exceptions.PluginException: Failed to initialize class [grails.plugin.springsecurity.ui.RegistrationCode] from plugin [springSecurityUi] : org/grails/datastore/gorm/GormEntity$Trait$FieldHelper at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1123) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:120) ~[spring-context-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:678) ~[spring-context-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:520) ~[spring-context-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118) ~[spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:764) ~[spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE] at org.springframework.boot.SpringApplication.doRun(SpringApplication.java:357) ~[spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:305) ~[spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE] at grails.boot.GrailsApp.run(GrailsApp.groovy:54) [grails-core-3.1.0.jar:3.1.0] at grails.boot.GrailsApp.run(GrailsApp.groovy:353) [grails-core-3.1.0.jar:3.1.0] at grails.boot.GrailsApp.run(GrailsApp.groovy:342) [grails-core-3.1.0.jar:3.1.0] at grails.boot.GrailsApp$run.call(Unknown Source) [grails-core-3.1.0.jar:3.1.0] at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) [groovy-2.4.5.jar:2.4.5] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) [groovy-2.4.5.jar:2.4.5] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133) [groovy-2.4.5.jar:2.4.5] at fnx1.Application.main(Application.groovy:8) [main/:na] Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [grails.boot.config.GrailsApplicationPostProcessor]: Factory method 'grailsApplicationPostProcessor' threw exception; nested exception is grails.plugins.exceptions.PluginException: Failed to initialize class [grails.plugin.springsecurity.ui.RegistrationCode] from plugin [springSecurityUi] : org/grails/datastore/gorm/GormEntity$Trait$FieldHelper at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] ... 23 common frames omitted Caused by: grails.plugins.exceptions.PluginException: Failed to initialize class [grails.plugin.springsecurity.ui.RegistrationCode] from plugin [springSecurityUi] : org/grails/datastore/gorm/GormEntity$Trait$FieldHelper at org.grails.plugins.BinaryGrailsPlugin.initializeProvidedArtefacts(BinaryGrailsPlugin.java:127) ~[grails-core-3.1.0.jar:3.1.0] at org.grails.plugins.BinaryGrailsPlugin.<init>(BinaryGrailsPlugin.java:65) ~[grails-core-3.1.0.jar:3.1.0] at grails.plugins.DefaultGrailsPluginManager.createBinaryGrailsPlugin(DefaultGrailsPluginManager.java:391) ~[grails-core-3.1.0.jar:3.1.0] at grails.plugins.DefaultGrailsPluginManager.findCorePlugins(DefaultGrailsPluginManager.java:378) ~[grails-core-3.1.0.jar:3.1.0] at grails.plugins.DefaultGrailsPluginManager.attemptLoadPlugins(DefaultGrailsPluginManager.java:330) ~[grails-core-3.1.0.jar:3.1.0] at grails.plugins.DefaultGrailsPluginManager.loadPlugins(DefaultGrailsPluginManager.java:240) ~[grails-core-3.1.0.jar:3.1.0] at grails.boot.config.GrailsApplicationPostProcessor.initializeGrailsApplication(GrailsApplicationPostProcessor.groovy:87) ~[grails-core-3.1.0.jar:3.1.0] at grails.boot.config.GrailsApplicationPostProcessor.setApplicationContext(GrailsApplicationPostProcessor.groovy:209) ~[grails-core-3.1.0.jar:3.1.0] at grails.boot.config.GrailsApplicationPostProcessor.<init>(GrailsApplicationPostProcessor.groovy:76) ~[grails-core-3.1.0.jar:3.1.0] at grails.boot.config.GrailsAutoConfiguration.grailsApplicationPostProcessor(GrailsAutoConfiguration.groovy:62) ~[grails-core-3.1.0.jar:3.1.0] at fnx1.Application.grailsApplicationPostProcessor(Application.groovy) [main/:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_60] at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_60] at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1426) ~[springloaded-1.2.5.RELEASE.jar:1.2.5.RELEASE] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] ... 24 common frames omitted Caused by: java.lang.NoClassDefFoundError: org/grails/datastore/gorm/GormEntity$Trait$FieldHelper at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_60] at java.lang.ClassLoader.defineClass(ClassLoader.java:760) ~[na:1.8.0_60] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[na:1.8.0_60] at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) ~[na:1.8.0_60] at java.net.URLClassLoader.access$100(URLClassLoader.java:73) ~[na:1.8.0_60] at java.net.URLClassLoader$1.run(URLClassLoader.java:368) ~[na:1.8.0_60] at java.net.URLClassLoader$1.run(URLClassLoader.java:362) ~[na:1.8.0_60] at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_60] at java.net.URLClassLoader.findClass(URLClassLoader.java:361) ~[na:1.8.0_60] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_60] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_60] at java.lang.ClassLoader.loadClass(ClassLoader.java:411) ~[na:1.8.0_60] at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:677) ~[groovy-2.4.5.jar:2.4.5] at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:787) ~[groovy-2.4.5.jar:2.4.5] at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:775) ~[groovy-2.4.5.jar:2.4.5] at org.grails.plugins.BinaryGrailsPlugin.initializeProvidedArtefacts(BinaryGrailsPlugin.java:125) ~[grails-core-3.1.0.jar:3.1.0] ... 40 common frames omitted Caused by: java.lang.ClassNotFoundException: org.grails.datastore.gorm.GormEntity$Trait$FieldHelper at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_60] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_60] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_60] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_60] ... 56 common frames omitted :bootRun FAILED

generateLink function should use grails.serverURL in configuration

This method should not be passing a "base" arg to the grails createLink function. Doing this causes the link to not use the configured grails.serverURL

protected String generateLink(String action, linkParams) {
    createLink(base: "$request.scheme://$request.serverName:$request.serverPort$request.contextPath",
            controller: 'register', action: action,
            params: linkParams)
}

postResetUrl not working

Documentation suggests to use grails.plugin.springsecurity.ui.forgotPassword.postResetUrl in order to set the URL after a password reset. For example:

----
grails.plugin.springsecurity.ui.forgotPassword.postResetUrl = '/reset'
----

In RegisterController the registerPostResetUrl variable looks for conf.ui.register.postResetUrl which should be conf.ui.forgotPassword.postResetUrl.

https://github.com/grails-plugins/grails-spring-security-ui/blob/master/grails-app/controllers/grails/plugin/springsecurity/ui/RegisterController.groovy#L212

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.