After I read the code of IniRealm class, I changed my spring been as:

<bean name="iniRealm" class="org.apache.shiro.realm.text.IniRealm">
                <constructor-arg type="java.lang.String" 
value="classpath:shiro.ini"/>
    </bean>

Then it works fine.


--- On Thu, 1/6/11, acec acec <[email protected]> wrote:

> From: acec acec <[email protected]>
> Subject: Re: use PropertiesRealm
> To: [email protected]
> Received: Thursday, January 6, 2011, 11:37 AM
> Hi, Les Hazlewood
> Thanks for your help.
> I tried IniRealm, it does not work. My login page just show
> "Invalid username or password.." error message.
> -------------------shiro.ini------------------------------------------
> [users]
> root=root,admin
> 
> [roles]
> admin=*
> 
> ---------applicationContext-shiro.xml---------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://www.springframework.org/schema/beans";
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>     xmlns:p="http://www.springframework.org/schema/p";
>     xmlns:util="http://www.springframework.org/schema/util";
> 
>     xsi:schemaLocation="http://www.springframework.org/schema/beans 
> http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
>         http://www.springframework.org/schema/util 
> http://www.springframework.org/schema/util/spring-util-3.0.xsd";>
> 
>     <bean id="lifecycleBeanPostProcessor"
> class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/>
> 
>     <bean id="shiroFilter"
> class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"
>        
> p:securityManager-ref="securityManager"
>        
> p:loginUrl="/login.html">
>         <property
> name="filters">
>             <util:map>
>                
> <entry key="authc">
>                
>     <bean
> class="org.apache.shiro.web.filter.authc.PassThruAuthenticationFilter"/>
>                
> </entry>
>            
> </util:map>
>         </property>
>         <property
> name="filterChainDefinitions">
>            
> <value>
>            
>     /admin/** = authc, roles[admin]
>            
>     /teller/** = authc, roles[teller]
>            
>     /** = authc
>            
> </value>
>         </property>
>     </bean>
> 
>     <bean id="securityManager"
> class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"
>        
> p:realm-ref="iniRealm"/>
> 
>     <bean id="iniRealm"
> class="org.apache.shiro.realm.text.IniRealm"
>        
> p:resourcePath="classpath:shiro.ini"/>
> 
> </beans>
> -------------------------------------------------------------
> --- On Tue, 1/4/11, Les Hazlewood <[email protected]>
> wrote:
> 
> > From: Les Hazlewood <[email protected]>
> > Subject: Re: use PropertiesRealm
> > To: [email protected]
> > Received: Tuesday, January 4, 2011, 9:41 PM
> > Hello,
> > 
> > The PropertiesRealm is really old and hasn't been
> > maintained in a while.
> > 
> > I highly recommend using the IniRealm instead, which
> allows
> > you to do
> > everything that the Properties realm allowed, but is
> even
> > easier to
> > read and/or organize since you break up the user and
> role
> > definitions
> > into their own ini sections.  For example:
> > 
> > [users]
> > root=root,administrator
> > jerry=jerry,manager,teller
> > jack=jack,contractor
> > 
> > Much nicer than having to prefix each line with
> 'user.' or
> > 'role.'  IMO.
> > 
> > And in Spring XML:
> > 
> > <bean id="iniRealm"
> > class="org.apache.shiro.realm.text.IniRealm">
> >     <property name="resourcePath"
> > value="classpath:shiro.ini"/>
> > </bean>
> > 
> > HTH,
> > 
> > -- 
> > Les Hazlewood
> > Founder, Katasoft, Inc.
> > Application Security Products & Professional
> Apache
> > Shiro Support and Training:
> > http://www.katasoft.com
> > 
> > On Sat, Dec 25, 2010 at 12:26 PM, acec acec <[email protected]>
> > wrote:
> > > Hi, all
> > > I try to use PropertiesRealm, but I always got
> > "invalid username or password" error.
> > >
> > > The following is my shiro-users.properties and
> > applicationContext-shiro.xml
> > >
> > >
> ===============shiro-users.properties============
> > > user.root=root,administrator
> > > user.jerry=jerry,manager,teller
> > > user.jack=jack,contractor
> > >
> > >
> >
> ====================applicationContext-shiro.xml===============
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <beans xmlns="http://www.springframework.org/schema/beans";
> > >        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> > >        xmlns:p="http://www.springframework.org/schema/p";
> > >        xmlns:util="http://www.springframework.org/schema/util";
> > >
> > >        xsi:schemaLocation="http://www.springframework.org/schema/beans 
> > > http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
> > >                http://www.springframework.org/schema/util 
> > > http://www.springframework.org/schema/util/spring-util-3.0.xsd";>
> > >
> > >        <bean
> id="lifecycleBeanPostProcessor"
> >
> class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/>
> > >
> > >        <bean id="shiroFilter"
> >
> class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"
> > >              
> >  p:securityManager-ref="securityManager"
> > >              
>  p:loginUrl="/login.html">
> > >                <property
> > name="filters">
> > >            <util:map>
> > >                <entry key="authc">
> > >                    <bean
> >
> class="org.apache.shiro.web.filter.authc.PassThruAuthenticationFilter"/>
> > >                </entry>
> > >                      
>  </util:map>
> > >        </property>
> > >                <property
> > name="filterChainDefinitions">
> > >                <value>
> > >                /admin/** = authc,
> > roles[admin]
> > >                /teller/** = authc,
> > roles[teller]
> > >                /** = authc
> > >                </value>
> > >                </property>
> > >        </bean>
> > >
> > >        <bean id="securityManager"
> >
> class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"
> > >              
> >  p:realm-ref="propertiesRealm"/>
> > >
> > >        <bean id="propertiesRealm"
> >
> class="org.apache.shiro.realm.text.PropertiesRealm"/>
> > >
> > > </beans>
> > 
> 
> 
> 


Reply via email to