testlens-app[bot] commented on PR #16021: URL: https://github.com/apache/grails-core/pull/16021#issuecomment-5077485512
## 🚨 TestLens detected 1 failed test 🚨 Here is what you can do: 1) Inspect the test failures carefully. 2) If you are convinced that some of the tests are flaky, you can mute them below. 3) Finally, trigger a rerun by checking the rerun checkbox. ### Test Summary #### [CI / Spring Security Tests \(21\)](https://github.com/apache/grails-core/actions/runs/30148516736/job/89654770173?pr=16021) > :grails-test-examples-spring-security-ui-simple:integrationTest | Test | Runs | Flakiness | |---|---|--:| | DefaultSecurityInfoSpec > testConfig | ❌ | 0% 🟢 | 🏷️ Commit: f5e11d59bbd9c0cc9f5a7c7a3a52ac3f659739fd ▶️ Tests: 26779 executed 🟡 Checks: 25/47 completed ### Test Failures <details> <summary><strong>DefaultSecurityInfoSpec > testConfig</strong> (:grails-test-examples-spring-security-ui-simple:integrationTest in <a href="https://github.com/apache/grails-core/actions/runs/30148516736/job/89654770173?pr=16021">CI / Spring Security Tests (21)</a>)</summary> ``` Condition failed with Exception: waitFor { pageSource.contains('Showing 1 to 10 of ') } | geb.waiting.WaitTimeoutException: condition did not pass in 30 seconds (failed with exception) at geb.waiting.Wait.waitFor(Wait.groovy:128) at geb.waiting.DefaultWaitingSupport.doWaitFor(DefaultWaitingSupport.groovy:55) at geb.waiting.DefaultWaitingSupport.waitFor(DefaultWaitingSupport.groovy:41) at geb.Page.waitFor(Page.groovy:120) at grails.plugin.geb.support.delegate.PageDelegate$Trait$Helper.waitFor(PageDelegate.groovy:350) at simple.spec.DefaultSecurityInfoSpec.testConfig(DefaultSecurityInfoSpec.groovy:44) Caused by: Assertion failed: pageSource.contains('Showing 1 to 10 of ') | | | false '<html class="no-js" lang=""><head>\n\t<meta charset="utf-8">\n\t<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\n\t<meta http-equiv="x-ua-compatible" content="ie=edge">\n\t<meta name="viewport" content="width=device-width, initial-scale=1">\n\t\n\t\t<link rel="stylesheet" href="/assets/reset.css?compile=false">\n\t\t<link rel="stylesheet" href="/assets/webjars/jquery-ui-themes/1.14.2/base/jquery-ui.css?compile=false">\n\t\t<link rel="stylesheet" href="/assets/jquery.jdMenu.css?compile=false">\n\t\t<link rel="stylesheet" href="/assets/jquery.jdMenu.slate.css?compile=false">\n\t\t<link rel="stylesheet" href="/assets/webjars/jgrowl/1.4.6/jquery.jgrowl.css?compile=false">\n\t\t<link rel="stylesheet" href="/assets/spring-security-ui-common.css?compile=false">\n\t\t<link rel="stylesheet" href="/assets/spring-security-ui.css?compile=false">\n\n\n\t<meta name="layout" content="springSecurityUI">\n\t\n\t\n\t\t<link rel="stylesheet" href="/assets/webjars/datatables/1.10 .25/css/jquery.dataTables.css?compile=false">\n\t\t<link rel="stylesheet" href="/assets/jquery.dataTables.css?compile=false">\n\n\n</head>\n<body>\n<div>\n\t<div>\n\t\t<ul class="jd_menu jd_menu_slate">\n\t\t\t<li><a class="accessible">Users</a>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><a href="/user/search">Search</a></li>\n\t\t\t\t\t\t\t<li><a href="/user/create">Create</a></li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</li>\n\n\t\t\t<li><a class="accessible">Roles</a>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><a href="/role/search">Search</a></li>\n\t\t\t\t\t\t\t<li><a href="/role/create">Create</a></li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</li>\n\n\t\t\t<li><a class="accessible">Requestmaps</a>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><a href="/requestmap/search">Search</a></li>\n\t\t\t\t\t\t\t<li><a href="/requestmap/create">Create</a></li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</li>\n\n\t\t\t\n\t\t\t<li><a class="accessible">Registration Code</a>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><a href="/registrationCode/sear ch">Search</a></li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</li>\n\n\t\t\t\n\t\t\t\n\t\t\t<li><a class="accessible">Security Info</a>\n\t\t\t\t<ul>\n\t\t\t\t\t<li><a href="/securityInfo/config">Security Configuration</a></li>\n\t\t\t\t\t<li><a href="/securityInfo/mappings">Mappings</a></li>\n\t\t\t\t\t<li><a href="/securityInfo/currentAuth">Current Authentication</a></li>\n\t\t\t\t\t<li><a href="/securityInfo/usercache">User Cache</a></li>\n\t\t\t\t\t<li><a href="/securityInfo/filterChains">Filter Chains</a></li>\n\t\t\t\t\t<li><a href="/securityInfo/logoutHandlers">Logout Handlers</a></li>\n\t\t\t\t\t<li><a href="/securityInfo/voters">Voters</a></li>\n\t\t\t\t\t<li><a href="/securityInfo/providers">Authentication Providers</a></li>\n\t\t\t\t\t<li><a href="/securityInfo/secureChannel">Secure Channel Definition</a></li>\n\t\t\t\t</ul>\n\t\t\t</li>\n\t\t</ul>\n\t\t<div id="s2ui_header_body">\n\t\t\t<div id="s2ui_header_title">Spring Security Management Console</div>\n\t\t\t\n\n\t\t\t\t\t<style >\n\t\t\t\t\tinput.login {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\twidth: >400px;\n\t\t\t\t\t}\n\t\t\t\t\t</style>\n\t\t\t\t\t<span >id="s2ui_login_link_container">\n\t\t\t\t\t\t<nobr>\n\t\t\t\t\t\t<span >id="logoutLink" style="display:none">\n\t\t\t\t\t\t<a href="/logout/index" >id="_logout"></a>\n\t\t\t\t\t\t<a href="/" >id="_afterLogout"></a>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<div >id="loginLinkContainer">\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<a >href="#" id="loginLink">Log >in</a>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</nobr>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div > class="s2ui_center">\n\t\t\t\t\t\t<div id="loginFormContainer" >style="display:none" title="Member sign in">\n\t\t\t\t\t\t\t<form >action="/login/authenticate" method="post" id="loginForm" name="loginForm" >autocomplete="off">\n\t\t\t\t\t\t\t<label >for="ajaxUsername">Username:</label>\n\t\t\t\t\t\t\t<input class="login" >name="username" id="ajaxUsername" size="20">\n\t\t\t\t\t\t\t<label for="ajax Password">Password:</label>\n\t\t\t\t\t\t\t<input class="login" type="password" name="password" id="ajaxPassword" size="20">\n\t\t\t\t\t\t\t<input type="checkbox" class="checkbox" name="remember-me" id="remember_me" checked="checked">\n\t\t\t\t\t\t\t<label for="remember_me">Remember me</label> |\n\t\t\t\t\t\t\t<a href="/register/forgotPassword">Forgot password?</a>\n\t\t\t\t\t\t\t<a href="/register/register">Register as new User</a>\n\t\t\t\t\t\t\t<input type="submit" class="s2ui_hidden_button">\n\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t\t<div id="loginMessage" style="color: red; margin-top: 10px;"></div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\n\t\t</div>\n\t</div>\n\t<div id="s2ui_main">\n\t\t<div id="s2ui_content">\n\t\t\t<p>\n\t\t\t\n</p><div id="configHolder">\n\t<table id="config" cellpadding="0" cellspacing="0" border="0" class="display">\n\t\t<caption>Security Configuration</caption>\n\t\t<thead>\n\t\t<tr>\n\t\t\t<th>Name</th>\n\t\t\t<th>Value</th>\n\t\t</tr>\n\t\t</thead>\n\t\t <tbody>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>active</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>adh.ajaxErrorPage</td>\n\t\t\t\t<td>/login/ajaxDenied</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>adh.errorPage</td>\n\t\t\t\t<td>/login/denied</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>adh.useForward</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>afterInvocationManagerProviderNames</td>\n\t\t\t\t<td>[]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ajaxCheckClosure</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ajaxHeader</td>\n\t\t\t\t<td>X-Requested-With</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>anon.key</td>\n\t\t\t\t<td>foo</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>apf.allowSessionCreation</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>apf.continueChainBeforeSuccessfulAuthentication</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n \t\t\t\t<td>apf.filterProcessesUrl</td>\n\t\t\t\t<td>/login/authenticate</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>apf.passwordParameter</td>\n\t\t\t\t<td>password</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>apf.postOnly</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>apf.storeLastUsername</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>apf.usernameParameter</td>\n\t\t\t\t<td>username</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>atr.anonymousClass</td>\n\t\t\t\t<td>grails. plugin. springsecurity. authentication. GrailsAnonymousAuthenticationToken</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>atr.rememberMeClass</td>\n\t\t\t\t<td>org. springframework. security. authentication. RememberMeAuthenticationToken</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>auth.ajaxLoginFormUrl</td>\n\t\t\t\t<td>/login/authAjax</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>auth.forceHttps</td>\n\t\t\t\t<td>false</td> \n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>auth.loginFormUrl</td>\n\t\t\t\t<td>/login/auth</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>auth.useForward</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>authority.className</td>\n\t\t\t\t<td>test.Role</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>authority.groupAuthorityNameField</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>authority.nameField</td>\n\t\t\t\t<td>authority</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>basic.credentialsCharset</td>\n\t\t\t\t<td>UTF-8</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>basic.realmName</td>\n\t\t\t\t<td>Grails Realm</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>beanTypeResolverClass</td>\n\t\t\t\t<td>grails. plugin. springsecurity. BeanTypeResolver</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>cacheUsers</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>controllerAnnotations.staticRules</ td>\n\t\t\t\t<td>[]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>dao.hideUserNotFoundExceptions</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>dao.reflectionSaltSourceProperty</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>debug.useFilter</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>digest.createAuthenticatedToken</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>digest.key</td>\n\t\t\t\t<td>changeme</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>digest.nonceValiditySeconds</td>\n\t\t\t\t<td>300</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>digest.passwordAlreadyEncoded</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>digest.realmName</td>\n\t\t\t\t<td>Grails Realm</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>digest.useCleartextPasswords</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>failureHandler.ajaxAut hFailUrl</td>\n\t\t\t\t<td>/login/authfail?ajax=true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>failureHandler.allowSessionCreation</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>failureHandler.defaultFailureUrl</td>\n\t\t\t\t<td>/login/authfail?login_error=1</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>failureHandler.exceptionMappings</td>\n\t\t\t\t<td>[]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>failureHandler.useForward</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>fii.alwaysReauthenticate</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>fii.observeOncePerRequest</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>fii.publishAuthorizationSuccess</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>fii.rejectPublicInvocations</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>fii.validateConfigAttributes</td>\n\ t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap</td>\n\t\t\t\t<td>[{pattern=/assets/**, filters=none}, {pattern=/**/favicon.ico, filters=none}, {pattern=/**/css/**, filters=none}, {pattern=/**/images/**, filters=none}, {pattern=/**/js/**, filters=none}, {pattern=/**, filters=JOINED_FILTERS}]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[0].filters</td>\n\t\t\t\t<td>none</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[0].pattern</td>\n\t\t\t\t<td>/assets/**</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[1].filters</td>\n\t\t\t\t<td>none</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[1].pattern</td>\n\t\t\t\t<td>/**/favicon.ico</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[2].filters</td>\n\t\t\t\t<td>none</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[2].pattern</td>\n\t\t\t\t<td>/**/css/**</td>\ n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[3].filters</td>\n\t\t\t\t<td>none</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[3].pattern</td>\n\t\t\t\t<td>/**/images/**</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[4].filters</td>\n\t\t\t\t<td>none</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[4].pattern</td>\n\t\t\t\t<td>/**/js/**</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[5].filters</td>\n\t\t\t\t<td>JOINED_FILTERS</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[5].pattern</td>\n\t\t\t\t<td>/**</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>gsp.layoutAuth</td>\n\t\t\t\t<td>main</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>gsp.layoutDenied</td>\n\t\t\t\t<td>main</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>interceptUrlMap</td>\n\t\t\t\t<td>[]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ipRestrictions</td>\n\t\ t\t\t<td>[]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>logout.afterLogoutUrl</td>\n\t\t\t\t<td>/</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>logout.alwaysUseDefaultTargetUrl</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>logout.clearAuthentication</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>logout.filterProcessesUrl</td>\n\t\t\t\t<td>/logoff</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>logout.handlerNames</td>\n\t\t\t\t<td>[]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>logout.invalidateHttpSession</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>logout.postOnly</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>logout.redirectToReferer</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>logout.targetUrlParameter</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>password.algorithm</td>\n\t\t\t\t<td>bcrypt</td> \n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>password.bcrypt.logrounds</td>\n\t\t\t\t<td>4</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>password.encodeHashAsBase64</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>password.hash.iterations</td>\n\t\t\t\t<td>1</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>portMapper.httpPort</td>\n\t\t\t\t<td>8080</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>portMapper.httpsPort</td>\n\t\t\t\t<td>8443</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>printStatusMessages</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>providerManager.eraseCredentialsAfterAuthentication</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>providerNames</td>\n\t\t\t\t<td>[]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>redirectStrategy.contextRelative</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>registerLoggerListener</td>\n\t\t\t\t<td>false</td> \n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rejectIfNoRule</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.alwaysRemember</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.cookieDomain</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.cookieName</td>\n\t\t\t\t<td>grails_remember_me</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.createSessionOnSuccess</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.key</td>\n\t\t\t\t<td>grailsRocks</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.parameter</td>\n\t\t\t\t<td>remember-me</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.persistent</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.persistentToken.domainClassName</td>\n\t\t\t\t<td>test.PersistentToken</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.persisten tToken.seriesLength</td>\n\t\t\t\t<td>16</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.persistentToken.tokenLength</td>\n\t\t\t\t<td>16</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.tokenValiditySeconds</td>\n\t\t\t\t<td>1209600</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.useSecureCookie</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>requestCache.createSession</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>requestMap.className</td>\n\t\t\t\t<td>test.Requestmap</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>requestMap.configAttributeField</td>\n\t\t\t\t<td>configAttribute</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>requestMap.httpMethodField</td>\n\t\t\t\t<td>httpMethod</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>requestMap.urlField</td>\n\t\t\t\t<td>url</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>roleHierarchy</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t \t<tr>\n\t\t\t\t<td>sch.strategyName</td>\n\t\t\t\t<td>MODE_THREADLOCAL</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>scpf.forceEagerSessionCreation</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>scr.allowSessionCreation</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>scr.disableUrlRewriting</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>scr.springSecurityContextKey</td>\n\t\t\t\t<td>SPRING_SECURITY_CONTEXT</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.definition</td>\n\t\t\t\t<td>[{pattern=/testsecure/**, access=REQUIRES_SECURE_CHANNEL}, {pattern=/testinsecure/**, access=REQUIRES_INSECURE_CHANNEL}, {pattern=/testany/**, access=ANY_CHANNEL}]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.definition[0].access</td>\n\t\t\t\t<td>REQUIRES_SECURE_CHANNEL</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.definition[0].pattern</td>\n\t\t\t\t<td>/testsecu re/**</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.definition[1].access</td>\n\t\t\t\t<td>REQUIRES_INSECURE_CHANNEL</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.definition[1].pattern</td>\n\t\t\t\t<td>/testinsecure/**</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.definition[2].access</td>\n\t\t\t\t<td>ANY_CHANNEL</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.definition[2].pattern</td>\n\t\t\t\t<td>/testany/**</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.insecureConfigAttributeKeyword</td>\n\t\t\t\t<td>REQUIRES_INSECURE_CHANNEL</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.insecureHeaderName</td>\n\t\t\t\t<td>X-Forwarded-Proto</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.insecureHeaderValue</td>\n\t\t\t\t<td>https</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.secureConfigAttributeKeyword</td>\n\t\t\t\t<td>REQUIRES_SECURE_CHANNEL</ td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.secureHeaderName</td>\n\t\t\t\t<td>X-Forwarded-Proto</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.secureHeaderValue</td>\n\t\t\t\t<td>http</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.useHeaderCheckChannelSecurity</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>securityConfigType</td>\n\t\t\t\t<td>Requestmap</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>sessionFixationPrevention.alwaysCreateSession</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>sessionFixationPrevention.migrate</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>successHandler.ajaxSuccessUrl</td>\n\t\t\t\t<td>/login/ajaxSuccess</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>successHandler.alwaysUseDefault</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>successHandler.defaultTargetUrl</td>\n\t\t\t\t<td>/ </td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>successHandler.targetUrlParameter</td>\n\t\t\t\t<td>spring-security-redirect</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>successHandler.useReferer</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>switchUser.exitUserUrl</td>\n\t\t\t\t<td>/logout/impersonate</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>switchUser.switchFailureUrl</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>switchUser.switchUserUrl</td>\n\t\t\t\t<td>/login/impersonate</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>switchUser.targetUrl</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>switchUser.usernameParameter</td>\n\t\t\t\t<td>username</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.encodePassword</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.forgotPassword.emailFrom</td>\n\t\t\t\t<td>Do Not Reply <do.not.reply@localhost></td>\n\t\t\t </tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.forgotPassword.postResetUrl</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.forgotPassword.requireForgotPassEmailValidation</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.forgotPassword.validationUserLookUpProperty</td>\n\t\t\t\t<td>user</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.gsp.layoutRegister</td>\n\t\t\t\t<td>register</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.gsp.layoutUi</td>\n\t\t\t\t<td>springSecurityUI</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.register.defaultRoleNames</td>\n\t\t\t\t<td>[ROLE_USER]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.register.emailFrom</td>\n\t\t\t\t<td>Do Not Reply <do.not.reply@localhost></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.register.postRegisterUrl</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.register.requireEmailValidation</td>\n\t\t\t\t<td>true</td>\n\t \t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.switchUserRoleName</td>\n\t\t\t\t<td>ROLE_SWITCH_USER</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>useBasicAuth</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>useDigestAuth</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>useExternalClasses</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>useHttpSessionEventPublisher</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>useRoleGroups</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>useSecurityEventListener</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>useSessionFixationPrevention</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>useSwitchUserFilter</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>useX509</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>us erLookup.accountExpiredPropertyName</td>\n\t\t\t\t<td>accountExpired</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>userLookup.accountLockedPropertyName</td>\n\t\t\t\t<td>accountLocked</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>userLookup.authoritiesPropertyName</td>\n\t\t\t\t<td>authorities</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>userLookup.authorityJoinClassName</td>\n\t\t\t\t<td>test.UserRole</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>userLookup.enabledPropertyName</td>\n\t\t\t\t<td>enabled</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>userLookup.passwordExpiredPropertyName</td>\n\t\t\t\t<td>passwordExpired</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>userLookup.passwordPropertyName</td>\n\t\t\t\t<td>password</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>userLookup.userDomainClassName</td>\n\t\t\t\t<td>test.User</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>userLookup.usernameIgnoreCase</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\ n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>userLookup.usernamePropertyName</td>\n\t\t\t\t<td>username</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>voterNames</td>\n\t\t\t\t<td>[]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>x509.checkForPrincipalChanges</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>x509.continueFilterChainOnUnsuccessfulAuthentication</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>x509.invalidateSessionOnPrincipalChange</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>x509.subjectDnClosure</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>x509.subjectDnRegex</td>\n\t\t\t\t<td>CN=(.*?)(?:,|$)</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>x509.throwExceptionWhenTokenRejected</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\t\t</tbody>\n\t</table>\n</div>\n\n\n\n\t\t</div>\n\t</div>\n</div>\n<script type="text/javascript" src="/assets/webjars/jquery/2.1.4/jquery. min.js?compile=false"></script>\n<script type="text/javascript" src="/assets/webjars/jquery-ui/1.14.2/jquery-ui.min.js?compile=false"></script>\n<script type="text/javascript" src="/assets/webjars/jgrowl/1.4.6/jquery.jgrowl.min.js?compile=false"></script>\n<script type="text/javascript" src="/assets/jquery/jquery.positionBy.js?compile=false"></script>\n<script type="text/javascript" src="/assets/webjars/bgiframe/3.0.1/jquery.bgiframe.js?compile=false"></script>\n<script type="text/javascript" src="/assets/webjars/jquery-form/3.51/jquery.form.js?compile=false"></script>\n<script type="text/javascript" src="/assets/jquery/jquery.jdMenu.js?compile=false"></script>\n<script type="text/javascript" src="/assets/spring-security-ui-ajaxLogin.js?compile=false"></script>\n<script type="text/javascript" src="/assets/spring-security-ui.js?compile=false"></script>\n\n\n<script type="text/javascript" src="/assets/webjars/datatables/1.10.25/js/jquery.dataTables.js?compile=false"></script>\n\n<scri pt>\n$(function() {\n\n$(\'#config\').DataTable();\n\n});\n\nvar loginButtonCaption = "Log in";\nvar cancelButtonCaption = "Cancel";\nvar loggingYouIn = "Logging you in ...";\nvar loggedInAsWithPlaceholder = "Logged in as {0}";\n</script>\n\n\n<div tabindex="-1" role="dialog" aria-modal="true" style="display: none;"></div></body></html>' at simple.spec.DefaultSecurityInfoSpec.testConfig_closure2(DefaultSecurityInfoSpec.groovy:44) at geb.waiting.Wait.waitFor(Wait.groovy:117) ... 5 more at simple.spec.DefaultSecurityInfoSpec.testConfig(DefaultSecurityInfoSpec.groovy:44) Caused by: geb.waiting.WaitTimeoutException: condition did not pass in 30 seconds (failed with exception) at geb.waiting.Wait.waitFor(Wait.groovy:128) at geb.waiting.DefaultWaitingSupport.doWaitFor(DefaultWaitingSupport.groovy:55) at geb.waiting.DefaultWaitingSupport.waitFor(DefaultWaitingSupport.groovy:41) at geb.Page.waitFor(Page.groovy:120) at grails.plugin.geb.support.delegate.PageDelegate$Trait$Helper.waitFor(PageDelegate.groovy:350) ... 1 more Caused by: Assertion failed: pageSource.contains('Showing 1 to 10 of ') | | | false '<html class="no-js" lang=""><head>\n\t<meta charset="utf-8">\n\t<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\n\t<meta http-equiv="x-ua-compatible" content="ie=edge">\n\t<meta name="viewport" content="width=device-width, initial-scale=1">\n\t\n\t\t<link rel="stylesheet" href="/assets/reset.css?compile=false">\n\t\t<link rel="stylesheet" href="/assets/webjars/jquery-ui-themes/1.14.2/base/jquery-ui.css?compile=false">\n\t\t<link rel="stylesheet" href="/assets/jquery.jdMenu.css?compile=false">\n\t\t<link rel="stylesheet" href="/assets/jquery.jdMenu.slate.css?compile=false">\n\t\t<link rel="stylesheet" href="/assets/webjars/jgrowl/1.4.6/jquery.jgrowl.css?compile=false">\n\t\t<link rel="stylesheet" href="/assets/spring-security-ui-common.css?compile=false">\n\t\t<link rel="stylesheet" href="/assets/spring-security-ui.css?compile=false">\n\n\n\t<meta name="layout" content="springSecurityUI">\n\t\n\t\n\t\t<link rel="stylesheet" href="/assets/webjars/datatables/1.10 .25/css/jquery.dataTables.css?compile=false">\n\t\t<link rel="stylesheet" href="/assets/jquery.dataTables.css?compile=false">\n\n\n</head>\n<body>\n<div>\n\t<div>\n\t\t<ul class="jd_menu jd_menu_slate">\n\t\t\t<li><a class="accessible">Users</a>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><a href="/user/search">Search</a></li>\n\t\t\t\t\t\t\t<li><a href="/user/create">Create</a></li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</li>\n\n\t\t\t<li><a class="accessible">Roles</a>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><a href="/role/search">Search</a></li>\n\t\t\t\t\t\t\t<li><a href="/role/create">Create</a></li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</li>\n\n\t\t\t<li><a class="accessible">Requestmaps</a>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><a href="/requestmap/search">Search</a></li>\n\t\t\t\t\t\t\t<li><a href="/requestmap/create">Create</a></li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</li>\n\n\t\t\t\n\t\t\t<li><a class="accessible">Registration Code</a>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><a href="/registrationCode/sear ch">Search</a></li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</li>\n\n\t\t\t\n\t\t\t\n\t\t\t<li><a class="accessible">Security Info</a>\n\t\t\t\t<ul>\n\t\t\t\t\t<li><a href="/securityInfo/config">Security Configuration</a></li>\n\t\t\t\t\t<li><a href="/securityInfo/mappings">Mappings</a></li>\n\t\t\t\t\t<li><a href="/securityInfo/currentAuth">Current Authentication</a></li>\n\t\t\t\t\t<li><a href="/securityInfo/usercache">User Cache</a></li>\n\t\t\t\t\t<li><a href="/securityInfo/filterChains">Filter Chains</a></li>\n\t\t\t\t\t<li><a href="/securityInfo/logoutHandlers">Logout Handlers</a></li>\n\t\t\t\t\t<li><a href="/securityInfo/voters">Voters</a></li>\n\t\t\t\t\t<li><a href="/securityInfo/providers">Authentication Providers</a></li>\n\t\t\t\t\t<li><a href="/securityInfo/secureChannel">Secure Channel Definition</a></li>\n\t\t\t\t</ul>\n\t\t\t</li>\n\t\t</ul>\n\t\t<div id="s2ui_header_body">\n\t\t\t<div id="s2ui_header_title">Spring Security Management Console</div>\n\t\t\t\n\n\t\t\t\t\t<style >\n\t\t\t\t\tinput.login {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\twidth: >400px;\n\t\t\t\t\t}\n\t\t\t\t\t</style>\n\t\t\t\t\t<span >id="s2ui_login_link_container">\n\t\t\t\t\t\t<nobr>\n\t\t\t\t\t\t<span >id="logoutLink" style="display:none">\n\t\t\t\t\t\t<a href="/logout/index" >id="_logout"></a>\n\t\t\t\t\t\t<a href="/" >id="_afterLogout"></a>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<div >id="loginLinkContainer">\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<a >href="#" id="loginLink">Log >in</a>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</nobr>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div > class="s2ui_center">\n\t\t\t\t\t\t<div id="loginFormContainer" >style="display:none" title="Member sign in">\n\t\t\t\t\t\t\t<form >action="/login/authenticate" method="post" id="loginForm" name="loginForm" >autocomplete="off">\n\t\t\t\t\t\t\t<label >for="ajaxUsername">Username:</label>\n\t\t\t\t\t\t\t<input class="login" >name="username" id="ajaxUsername" size="20">\n\t\t\t\t\t\t\t<label for="ajax Password">Password:</label>\n\t\t\t\t\t\t\t<input class="login" type="password" name="password" id="ajaxPassword" size="20">\n\t\t\t\t\t\t\t<input type="checkbox" class="checkbox" name="remember-me" id="remember_me" checked="checked">\n\t\t\t\t\t\t\t<label for="remember_me">Remember me</label> |\n\t\t\t\t\t\t\t<a href="/register/forgotPassword">Forgot password?</a>\n\t\t\t\t\t\t\t<a href="/register/register">Register as new User</a>\n\t\t\t\t\t\t\t<input type="submit" class="s2ui_hidden_button">\n\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t\t<div id="loginMessage" style="color: red; margin-top: 10px;"></div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\n\t\t</div>\n\t</div>\n\t<div id="s2ui_main">\n\t\t<div id="s2ui_content">\n\t\t\t<p>\n\t\t\t\n</p><div id="configHolder">\n\t<table id="config" cellpadding="0" cellspacing="0" border="0" class="display">\n\t\t<caption>Security Configuration</caption>\n\t\t<thead>\n\t\t<tr>\n\t\t\t<th>Name</th>\n\t\t\t<th>Value</th>\n\t\t</tr>\n\t\t</thead>\n\t\t <tbody>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>active</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>adh.ajaxErrorPage</td>\n\t\t\t\t<td>/login/ajaxDenied</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>adh.errorPage</td>\n\t\t\t\t<td>/login/denied</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>adh.useForward</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>afterInvocationManagerProviderNames</td>\n\t\t\t\t<td>[]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ajaxCheckClosure</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ajaxHeader</td>\n\t\t\t\t<td>X-Requested-With</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>anon.key</td>\n\t\t\t\t<td>foo</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>apf.allowSessionCreation</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>apf.continueChainBeforeSuccessfulAuthentication</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n \t\t\t\t<td>apf.filterProcessesUrl</td>\n\t\t\t\t<td>/login/authenticate</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>apf.passwordParameter</td>\n\t\t\t\t<td>password</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>apf.postOnly</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>apf.storeLastUsername</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>apf.usernameParameter</td>\n\t\t\t\t<td>username</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>atr.anonymousClass</td>\n\t\t\t\t<td>grails. plugin. springsecurity. authentication. GrailsAnonymousAuthenticationToken</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>atr.rememberMeClass</td>\n\t\t\t\t<td>org. springframework. security. authentication. RememberMeAuthenticationToken</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>auth.ajaxLoginFormUrl</td>\n\t\t\t\t<td>/login/authAjax</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>auth.forceHttps</td>\n\t\t\t\t<td>false</td> \n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>auth.loginFormUrl</td>\n\t\t\t\t<td>/login/auth</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>auth.useForward</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>authority.className</td>\n\t\t\t\t<td>test.Role</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>authority.groupAuthorityNameField</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>authority.nameField</td>\n\t\t\t\t<td>authority</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>basic.credentialsCharset</td>\n\t\t\t\t<td>UTF-8</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>basic.realmName</td>\n\t\t\t\t<td>Grails Realm</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>beanTypeResolverClass</td>\n\t\t\t\t<td>grails. plugin. springsecurity. BeanTypeResolver</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>cacheUsers</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>controllerAnnotations.staticRules</ td>\n\t\t\t\t<td>[]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>dao.hideUserNotFoundExceptions</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>dao.reflectionSaltSourceProperty</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>debug.useFilter</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>digest.createAuthenticatedToken</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>digest.key</td>\n\t\t\t\t<td>changeme</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>digest.nonceValiditySeconds</td>\n\t\t\t\t<td>300</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>digest.passwordAlreadyEncoded</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>digest.realmName</td>\n\t\t\t\t<td>Grails Realm</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>digest.useCleartextPasswords</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>failureHandler.ajaxAut hFailUrl</td>\n\t\t\t\t<td>/login/authfail?ajax=true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>failureHandler.allowSessionCreation</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>failureHandler.defaultFailureUrl</td>\n\t\t\t\t<td>/login/authfail?login_error=1</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>failureHandler.exceptionMappings</td>\n\t\t\t\t<td>[]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>failureHandler.useForward</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>fii.alwaysReauthenticate</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>fii.observeOncePerRequest</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>fii.publishAuthorizationSuccess</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>fii.rejectPublicInvocations</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>fii.validateConfigAttributes</td>\n\ t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap</td>\n\t\t\t\t<td>[{pattern=/assets/**, filters=none}, {pattern=/**/favicon.ico, filters=none}, {pattern=/**/css/**, filters=none}, {pattern=/**/images/**, filters=none}, {pattern=/**/js/**, filters=none}, {pattern=/**, filters=JOINED_FILTERS}]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[0].filters</td>\n\t\t\t\t<td>none</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[0].pattern</td>\n\t\t\t\t<td>/assets/**</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[1].filters</td>\n\t\t\t\t<td>none</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[1].pattern</td>\n\t\t\t\t<td>/**/favicon.ico</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[2].filters</td>\n\t\t\t\t<td>none</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[2].pattern</td>\n\t\t\t\t<td>/**/css/**</td>\ n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[3].filters</td>\n\t\t\t\t<td>none</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[3].pattern</td>\n\t\t\t\t<td>/**/images/**</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[4].filters</td>\n\t\t\t\t<td>none</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[4].pattern</td>\n\t\t\t\t<td>/**/js/**</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[5].filters</td>\n\t\t\t\t<td>JOINED_FILTERS</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>filterChain.chainMap[5].pattern</td>\n\t\t\t\t<td>/**</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>gsp.layoutAuth</td>\n\t\t\t\t<td>main</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>gsp.layoutDenied</td>\n\t\t\t\t<td>main</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>interceptUrlMap</td>\n\t\t\t\t<td>[]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ipRestrictions</td>\n\t\ t\t\t<td>[]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>logout.afterLogoutUrl</td>\n\t\t\t\t<td>/</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>logout.alwaysUseDefaultTargetUrl</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>logout.clearAuthentication</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>logout.filterProcessesUrl</td>\n\t\t\t\t<td>/logoff</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>logout.handlerNames</td>\n\t\t\t\t<td>[]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>logout.invalidateHttpSession</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>logout.postOnly</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>logout.redirectToReferer</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>logout.targetUrlParameter</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>password.algorithm</td>\n\t\t\t\t<td>bcrypt</td> \n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>password.bcrypt.logrounds</td>\n\t\t\t\t<td>4</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>password.encodeHashAsBase64</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>password.hash.iterations</td>\n\t\t\t\t<td>1</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>portMapper.httpPort</td>\n\t\t\t\t<td>8080</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>portMapper.httpsPort</td>\n\t\t\t\t<td>8443</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>printStatusMessages</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>providerManager.eraseCredentialsAfterAuthentication</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>providerNames</td>\n\t\t\t\t<td>[]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>redirectStrategy.contextRelative</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>registerLoggerListener</td>\n\t\t\t\t<td>false</td> \n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rejectIfNoRule</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.alwaysRemember</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.cookieDomain</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.cookieName</td>\n\t\t\t\t<td>grails_remember_me</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.createSessionOnSuccess</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.key</td>\n\t\t\t\t<td>grailsRocks</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.parameter</td>\n\t\t\t\t<td>remember-me</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.persistent</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.persistentToken.domainClassName</td>\n\t\t\t\t<td>test.PersistentToken</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.persisten tToken.seriesLength</td>\n\t\t\t\t<td>16</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.persistentToken.tokenLength</td>\n\t\t\t\t<td>16</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.tokenValiditySeconds</td>\n\t\t\t\t<td>1209600</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>rememberMe.useSecureCookie</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>requestCache.createSession</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>requestMap.className</td>\n\t\t\t\t<td>test.Requestmap</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>requestMap.configAttributeField</td>\n\t\t\t\t<td>configAttribute</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>requestMap.httpMethodField</td>\n\t\t\t\t<td>httpMethod</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>requestMap.urlField</td>\n\t\t\t\t<td>url</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>roleHierarchy</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t \t<tr>\n\t\t\t\t<td>sch.strategyName</td>\n\t\t\t\t<td>MODE_THREADLOCAL</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>scpf.forceEagerSessionCreation</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>scr.allowSessionCreation</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>scr.disableUrlRewriting</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>scr.springSecurityContextKey</td>\n\t\t\t\t<td>SPRING_SECURITY_CONTEXT</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.definition</td>\n\t\t\t\t<td>[{pattern=/testsecure/**, access=REQUIRES_SECURE_CHANNEL}, {pattern=/testinsecure/**, access=REQUIRES_INSECURE_CHANNEL}, {pattern=/testany/**, access=ANY_CHANNEL}]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.definition[0].access</td>\n\t\t\t\t<td>REQUIRES_SECURE_CHANNEL</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.definition[0].pattern</td>\n\t\t\t\t<td>/testsecu re/**</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.definition[1].access</td>\n\t\t\t\t<td>REQUIRES_INSECURE_CHANNEL</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.definition[1].pattern</td>\n\t\t\t\t<td>/testinsecure/**</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.definition[2].access</td>\n\t\t\t\t<td>ANY_CHANNEL</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.definition[2].pattern</td>\n\t\t\t\t<td>/testany/**</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.insecureConfigAttributeKeyword</td>\n\t\t\t\t<td>REQUIRES_INSECURE_CHANNEL</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.insecureHeaderName</td>\n\t\t\t\t<td>X-Forwarded-Proto</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.insecureHeaderValue</td>\n\t\t\t\t<td>https</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.secureConfigAttributeKeyword</td>\n\t\t\t\t<td>REQUIRES_SECURE_CHANNEL</ td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.secureHeaderName</td>\n\t\t\t\t<td>X-Forwarded-Proto</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.secureHeaderValue</td>\n\t\t\t\t<td>http</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>secureChannel.useHeaderCheckChannelSecurity</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>securityConfigType</td>\n\t\t\t\t<td>Requestmap</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>sessionFixationPrevention.alwaysCreateSession</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>sessionFixationPrevention.migrate</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>successHandler.ajaxSuccessUrl</td>\n\t\t\t\t<td>/login/ajaxSuccess</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>successHandler.alwaysUseDefault</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>successHandler.defaultTargetUrl</td>\n\t\t\t\t<td>/ </td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>successHandler.targetUrlParameter</td>\n\t\t\t\t<td>spring-security-redirect</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>successHandler.useReferer</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>switchUser.exitUserUrl</td>\n\t\t\t\t<td>/logout/impersonate</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>switchUser.switchFailureUrl</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>switchUser.switchUserUrl</td>\n\t\t\t\t<td>/login/impersonate</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>switchUser.targetUrl</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>switchUser.usernameParameter</td>\n\t\t\t\t<td>username</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.encodePassword</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.forgotPassword.emailFrom</td>\n\t\t\t\t<td>Do Not Reply <do.not.reply@localhost></td>\n\t\t\t </tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.forgotPassword.postResetUrl</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.forgotPassword.requireForgotPassEmailValidation</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.forgotPassword.validationUserLookUpProperty</td>\n\t\t\t\t<td>user</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.gsp.layoutRegister</td>\n\t\t\t\t<td>register</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.gsp.layoutUi</td>\n\t\t\t\t<td>springSecurityUI</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.register.defaultRoleNames</td>\n\t\t\t\t<td>[ROLE_USER]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.register.emailFrom</td>\n\t\t\t\t<td>Do Not Reply <do.not.reply@localhost></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.register.postRegisterUrl</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.register.requireEmailValidation</td>\n\t\t\t\t<td>true</td>\n\t \t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>ui.switchUserRoleName</td>\n\t\t\t\t<td>ROLE_SWITCH_USER</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>useBasicAuth</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>useDigestAuth</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>useExternalClasses</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>useHttpSessionEventPublisher</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>useRoleGroups</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>useSecurityEventListener</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>useSessionFixationPrevention</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>useSwitchUserFilter</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>useX509</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>us erLookup.accountExpiredPropertyName</td>\n\t\t\t\t<td>accountExpired</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>userLookup.accountLockedPropertyName</td>\n\t\t\t\t<td>accountLocked</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>userLookup.authoritiesPropertyName</td>\n\t\t\t\t<td>authorities</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>userLookup.authorityJoinClassName</td>\n\t\t\t\t<td>test.UserRole</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>userLookup.enabledPropertyName</td>\n\t\t\t\t<td>enabled</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>userLookup.passwordExpiredPropertyName</td>\n\t\t\t\t<td>passwordExpired</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>userLookup.passwordPropertyName</td>\n\t\t\t\t<td>password</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>userLookup.userDomainClassName</td>\n\t\t\t\t<td>test.User</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>userLookup.usernameIgnoreCase</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\ n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>userLookup.usernamePropertyName</td>\n\t\t\t\t<td>username</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>voterNames</td>\n\t\t\t\t<td>[]</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>x509.checkForPrincipalChanges</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>x509.continueFilterChainOnUnsuccessfulAuthentication</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>x509.invalidateSessionOnPrincipalChange</td>\n\t\t\t\t<td>true</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>x509.subjectDnClosure</td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>x509.subjectDnRegex</td>\n\t\t\t\t<td>CN=(.*?)(?:,|$)</td>\n\t\t\t</tr>\n\t\t\n\n\t\t\t<tr>\n\t\t\t\t<td>x509.throwExceptionWhenTokenRejected</td>\n\t\t\t\t<td>false</td>\n\t\t\t</tr>\n\t\t\n\t\t</tbody>\n\t</table>\n</div>\n\n\n\n\t\t</div>\n\t</div>\n</div>\n<script type="text/javascript" src="/assets/webjars/jquery/2.1.4/jquery. min.js?compile=false"></script>\n<script type="text/javascript" src="/assets/webjars/jquery-ui/1.14.2/jquery-ui.min.js?compile=false"></script>\n<script type="text/javascript" src="/assets/webjars/jgrowl/1.4.6/jquery.jgrowl.min.js?compile=false"></script>\n<script type="text/javascript" src="/assets/jquery/jquery.positionBy.js?compile=false"></script>\n<script type="text/javascript" src="/assets/webjars/bgiframe/3.0.1/jquery.bgiframe.js?compile=false"></script>\n<script type="text/javascript" src="/assets/webjars/jquery-form/3.51/jquery.form.js?compile=false"></script>\n<script type="text/javascript" src="/assets/jquery/jquery.jdMenu.js?compile=false"></script>\n<script type="text/javascript" src="/assets/spring-security-ui-ajaxLogin.js?compile=false"></script>\n<script type="text/javascript" src="/assets/spring-security-ui.js?compile=false"></script>\n\n\n<script type="text/javascript" src="/assets/webjars/datatables/1.10.25/js/jquery.dataTables.js?compile=false"></script>\n\n<scri pt>\n$(function() {\n\n$(\'#config\').DataTable();\n\n});\n\nvar loginButtonCaption = "Log in";\nvar cancelButtonCaption = "Cancel";\nvar loggingYouIn = "Logging you in ...";\nvar loggedInAsWithPlaceholder = "Logged in as {0}";\n</script>\n\n\n<div tabindex="-1" role="dialog" aria-modal="true" style="display: none;"></div></body></html>' at simple.spec.DefaultSecurityInfoSpec.testConfig_closure2(DefaultSecurityInfoSpec.groovy:44) at geb.waiting.Wait.waitFor(Wait.groovy:117) ... 5 more ``` </details> ### Muted Tests > [!NOTE] > Checks are currently running using the configuration below. Select tests to mute in this pull request: 🔲 DefaultSecurityInfoSpec > testConfig <!-- uniqueId=[engine:spock]/[spec:simple.spec.DefaultSecurityInfoSpec]/[feature:$spock_feature_2_0] --> Reuse successful test results: 🔲 ♻️ Only rerun the tests that failed or were muted before Click the checkbox to trigger a rerun: 🔲 **Rerun jobs** --- _Learn more about TestLens at [testlens.app](https://testlens.app)._ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
