[ 
https://issues.apache.org/jira/browse/SHIRO-615?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brian Demers updated SHIRO-615:
-------------------------------

You should be able to pass a byte array directly into the setter method.
You can also write the test in groovy (take a look at the existing tests).

Keep us posted though!




> Refine error message for incorrectly configured rememberMe cipherKey
> --------------------------------------------------------------------
>
>                 Key: SHIRO-615
>                 URL: https://issues.apache.org/jira/browse/SHIRO-615
>             Project: Shiro
>          Issue Type: Improvement
>            Reporter: Rob Young
>            Priority: Minor
>
> Currently if the shiro configuration key 
> *securityManager.rememberMeManager.cipherKey* is set incorrectly, an error is 
> logged via a stack trace.  Unfortunately, this stack trace and associated 
> error message do not provide much context and could be refined to indicate 
> that the source of the error was the cipherKey.
> h4. Sample Error
> {code}
> ERROR o.a.shiro.web.env.EnvironmentLoader - Shiro environment initialization 
> failed
> java.lang.IllegalArgumentException: Odd number of characters.
>       at org.apache.shiro.codec.Hex.decode(Hex.java:128) 
> ~[shiro-core-1.3.2.jar:1.3.2]
>       at org.apache.shiro.codec.Hex.decode(Hex.java:107) 
> ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.ReflectionBuilder.toBytes(ReflectionBuilder.java:544) 
> ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.ReflectionBuilder.applyProperty(ReflectionBuilder.java:711)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.ReflectionBuilder.applySingleProperty(ReflectionBuilder.java:364)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.ReflectionBuilder.applyProperty(ReflectionBuilder.java:325)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.ReflectionBuilder$AssignmentStatement.doExecute(ReflectionBuilder.java:955)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.ReflectionBuilder$Statement.execute(ReflectionBuilder.java:887)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.ReflectionBuilder$BeanConfigurationProcessor.execute(ReflectionBuilder.java:765)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.ReflectionBuilder.buildObjects(ReflectionBuilder.java:260)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.IniSecurityManagerFactory.buildInstances(IniSecurityManagerFactory.java:167)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.IniSecurityManagerFactory.createSecurityManager(IniSecurityManagerFactory.java:130)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.IniSecurityManagerFactory.createSecurityManager(IniSecurityManagerFactory.java:108)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.IniSecurityManagerFactory.createInstance(IniSecurityManagerFactory.java:94)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.IniSecurityManagerFactory.createInstance(IniSecurityManagerFactory.java:46)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.IniFactorySupport.createInstance(IniFactorySupport.java:123)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.util.AbstractFactory.getInstance(AbstractFactory.java:47) 
> ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.web.env.IniWebEnvironment.createWebSecurityManager(IniWebEnvironment.java:203)
>  ~[shiro-web-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.web.env.IniWebEnvironment.configure(IniWebEnvironment.java:99)
>  ~[shiro-web-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.web.env.IniWebEnvironment.init(IniWebEnvironment.java:92) 
> ~[shiro-web-1.3.2.jar:1.3.2]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to