Newbie stuck with his own realm please help

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Newbie stuck with his own realm please help

Suhail Ahmed-2
Hi,

I have been looking into Shiro to evaluate if it as a candidate for a project I am working on. I need to develop a realm which I did from the examples. I also need to integrate it with a JSF based application. I did the two things along with a login page. I have followed the Shiro web example to the letter except for using JSF instead of just jsp. But there seems to be a problem. After authenticating, the app doesn't display the protected page but keep displaying the login page. I have been trying to figure out whats been happening for a couple of days but no avail. Could anyone please help me. I really like the clean API shiro has and would like to use it going forward.

Thank you very much
su./hail
Reply | Threaded
Open this post in threaded view
|

Re: Newbie stuck with his own realm please help

armandoxxx
Some code would be nice ! 

Kind regards

Armando

On Sun, Aug 1, 2010 at 4:05 AM, Suhail Manzoor [via Shiro User] <[hidden email]> wrote:
Hi,

I have been looking into Shiro to evaluate if it as a candidate for a project I am working on. I need to develop a realm which I did from the examples. I also need to integrate it with a JSF based application. I did the two things along with a login page. I have followed the Shiro web example to the letter except for using JSF instead of just jsp. But there seems to be a problem. After authenticating, the app doesn't display the protected page but keep displaying the login page. I have been trying to figure out whats been happening for a couple of days but no avail. Could anyone please help me. I really like the clean API shiro has and would like to use it going forward.

Thank you very much
su./hail



View message @ http://shiro-user.582556.n2.nabble.com/Newbie-stuck-with-his-own-realm-please-help-tp5359975p5359975.html
To start a new topic under Shiro User, email [hidden email]
To unsubscribe from Shiro User, click here.


Reply | Threaded
Open this post in threaded view
|

Re: Newbie stuck with his own realm please help

Suhail Ahmed-2
Thanks for jumping in Armando.

My web.xml look like the following, followed by my realm. The login page is the same that shipped with the example. I am running it under glassfish 3, compliant with the j2ee 6 spec. The realm does get invoked but then it doesn't load the resource under /account/* but just redisplays the same login page.

<?xml version="1.0" encoding="UTF-8"?>
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <filter>
        <filter-name>ShiroFilter</filter-name>
        <filter-class>org.apache.shiro.web.servlet.IniShiroFilter</filter-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>
                [main]
                matcher = org.apache.shiro.authc.credential.Sha256CredentialsMatcher                
                mmer = prototype.security.shiro.realm.TreeRealm
                mmer.credentialsMatcher = $matcher
                [users]
                [roles]
                [filters]
                shiro.loginUrl = /login.xhtml
                shiro.successUrl  = /home.xhtml
                [urls]
                # The /login.xhtml is not restricted to authenticated users (otherwise no one could log in!), but
                # the 'authc' filter must still be specified for it so it can process that url's
                # login submissions. It is 'smart' enough to allow those requests through as specified by the
                # shiro.loginUrl above.
                /login.xhtml = authc
                /account/** = authc, roles[admin]
                /remoting/** = authc, roles[b2bClient], perms["remote:invoke:lan,wan"]
            </param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>ShiroFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter>
        <filter-name>Pretty Filter</filter-name>
        <filter-class>com.ocpsoft.pretty.PrettyFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>Pretty Filter</filter-name>
        <url-pattern>/u/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>ERROR</dispatcher>
    </filter-mapping>
    <servlet>
        <servlet-name>Resource Servlet</servlet-name>
        <servlet-class>org.primefaces.resource.ResourceServlet</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/u/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>Resource Servlet</servlet-name>
        <url-pattern>/primefaces_resource/*</url-pattern>
    </servlet-mapping>
    <persistence-context-ref>
        <persistence-context-ref-name>persistence/LogicalName</persistence-context-ref-name>
        <persistence-unit-name>opensocial</persistence-unit-name>
    </persistence-context-ref>
    <resource-ref>
        <res-ref-name>UserTransaction</res-ref-name>
        <res-type>javax.transaction.UserTransaction</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.xhtml</welcome-file>
    </welcome-file-list>
</web-app>

<<----------------- TreeRealm.java -------------------->>

package prototype.security.shiro.realm;

import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo;
import org.apache.shiro.authc.AuthenticationToken;
import org.apache.shiro.authc.SimpleAccount;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.authc.credential.Sha256CredentialsMatcher;
import org.apache.shiro.authz.AuthorizationInfo;
import org.apache.shiro.realm.AuthorizingRealm;
import org.apache.shiro.subject.PrincipalCollection;

/**
 *
 * @author Suhail
 */
public class TreeRealm extends AuthorizingRealm  {
 
    private static final Logger LOG = Logger.getLogger(TreeRealm.class.getName());
    
    public TreeRealm(){
        setCredentialsMatcher(new Sha256CredentialsMatcher());
        setCachingEnabled(false);
        LOG.log(Level.INFO, "{0} Started", TreeRealm.class.getName());
    }

    @Override
    protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection pc) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken at) throws AuthenticationException {                
        UsernamePasswordToken upToken = (UsernamePasswordToken) at;
        SimpleAccount account = new SimpleAccount(upToken.getUsername(), upToken.getPassword(), getName());
        account.addRole("admin");
        account.addRole("user");
        account.addStringPermission("/account/*:*");
        return account;
    }
}

Thanks for your help again.

Cheers
su./hail

On Sun, Aug 1, 2010 at 9:10 AM, armandoxxx <[hidden email]> wrote:
Some code would be nice ! 

Kind regards

Armando

On Sun, Aug 1, 2010 at 4:05 AM, Suhail Manzoor [via Shiro User] <[hidden email]> wrote:
Hi,

I have been looking into Shiro to evaluate if it as a candidate for a project I am working on. I need to develop a realm which I did from the examples. I also need to integrate it with a JSF based application. I did the two things along with a login page. I have followed the Shiro web example to the letter except for using JSF instead of just jsp. But there seems to be a problem. After authenticating, the app doesn't display the protected page but keep displaying the login page. I have been trying to figure out whats been happening for a couple of days but no avail. Could anyone please help me. I really like the clean API shiro has and would like to use it going forward.

Thank you very much
su./hail



View message @ http://shiro-user.582556.n2.nabble.com/Newbie-stuck-with-his-own-realm-please-help-tp5359975p5359975.html
To start a new topic under Shiro User, email [hidden email]
To unsubscribe from Shiro User, click here.




View this message in context: Re: Newbie stuck with his own realm please help
Sent from the Shiro User mailing list archive at Nabble.com.

Reply | Threaded
Open this post in threaded view
|

Re: Newbie stuck with his own realm please help

Niv-4
This post has NOT been accepted by the mailing list yet.
Hi

I noteiced that you have not added the success URl to the [urls] section. Not sure if it is the reason your not able to see the home page.

.i.e:  /login.xhtml = authc
       /home.xhtml=authc --> Was not mentioned in ur config, maybe it is necessary.

Cheers
Niv
Reply | Threaded
Open this post in threaded view
|

Re: Newbie stuck with his own realm please help

Les Hazlewood
Administrator
In reply to this post by Suhail Ahmed-2
Hi Suhail,

Your config looks pretty good, but as of Shiro 1.0, there is no need
for a [filters] section anymore - all object/DI config should be in
[main].

Is there a test case or trivial test webapp you could attach to a Jira
issue that replicates the problem?  If so, I can look at it right away
- I just don't have the time at the moment to write the test case
myself.

Regards,

Les

On Sun, Aug 1, 2010 at 4:32 AM, Suhail Ahmed <[hidden email]> wrote:

> Thanks for jumping in Armando.
> My web.xml look like the following, followed by my realm. The login page is
> the same that shipped with the example. I am running it under glassfish 3,
> compliant with the j2ee 6 spec. The realm does get invoked but then it
> doesn't load the resource under /account/* but just redisplays the same
> login page.
>
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
>     <context-param>
>         <param-name>javax.faces.PROJECT_STAGE</param-name>
>         <param-value>Development</param-value>
>     </context-param>
>     <filter>
>         <filter-name>ShiroFilter</filter-name>
>
>  <filter-class>org.apache.shiro.web.servlet.IniShiroFilter</filter-class>
>         <init-param>
>             <param-name>config</param-name>
>             <param-value>
>                 [main]
>                 matcher =
> org.apache.shiro.authc.credential.Sha256CredentialsMatcher
>                 mmer = prototype.security.shiro.realm.TreeRealm
>                 mmer.credentialsMatcher = $matcher
>                 [users]
>                 [roles]
>                 [filters]
>                 shiro.loginUrl = /login.xhtml
>                 shiro.successUrl  = /home.xhtml
>                 [urls]
>                 # The /login.xhtml is not restricted to authenticated users
> (otherwise no one could log in!), but
>                 # the 'authc' filter must still be specified for it so it
> can process that url's
>                 # login submissions. It is 'smart' enough to allow those
> requests through as specified by the
>                 # shiro.loginUrl above.
>                 /login.xhtml = authc
>                 /account/** = authc, roles[admin]
>                 /remoting/** = authc, roles[b2bClient],
> perms["remote:invoke:lan,wan"]
>             </param-value>
>         </init-param>
>     </filter>
>     <filter-mapping>
>         <filter-name>ShiroFilter</filter-name>
>         <url-pattern>/*</url-pattern>
>     </filter-mapping>
>     <filter>
>         <filter-name>Pretty Filter</filter-name>
>         <filter-class>com.ocpsoft.pretty.PrettyFilter</filter-class>
>     </filter>
>     <filter-mapping>
>         <filter-name>Pretty Filter</filter-name>
>         <url-pattern>/u/*</url-pattern>
>         <dispatcher>REQUEST</dispatcher>
>         <dispatcher>FORWARD</dispatcher>
>         <dispatcher>ERROR</dispatcher>
>     </filter-mapping>
>     <servlet>
>         <servlet-name>Resource Servlet</servlet-name>
>
>  <servlet-class>org.primefaces.resource.ResourceServlet</servlet-class>
>     </servlet>
>     <servlet>
>         <servlet-name>Faces Servlet</servlet-name>
>         <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
>         <load-on-startup>1</load-on-startup>
>     </servlet>
>     <servlet-mapping>
>         <servlet-name>Faces Servlet</servlet-name>
>         <url-pattern>/u/*</url-pattern>
>     </servlet-mapping>
>     <servlet-mapping>
>         <servlet-name>Resource Servlet</servlet-name>
>         <url-pattern>/primefaces_resource/*</url-pattern>
>     </servlet-mapping>
>     <persistence-context-ref>
>
>  <persistence-context-ref-name>persistence/LogicalName</persistence-context-ref-name>
>         <persistence-unit-name>opensocial</persistence-unit-name>
>     </persistence-context-ref>
>     <resource-ref>
>         <res-ref-name>UserTransaction</res-ref-name>
>         <res-type>javax.transaction.UserTransaction</res-type>
>         <res-auth>Container</res-auth>
>     </resource-ref>
>     <session-config>
>         <session-timeout>
>             30
>         </session-timeout>
>     </session-config>
>     <welcome-file-list>
>         <welcome-file>index.xhtml</welcome-file>
>     </welcome-file-list>
> </web-app>
> <<----------------- TreeRealm.java -------------------->>
> package prototype.security.shiro.realm;
> import java.util.logging.Level;
> import java.util.logging.Logger;
> import org.apache.shiro.authc.AuthenticationException;
> import org.apache.shiro.authc.AuthenticationInfo;
> import org.apache.shiro.authc.AuthenticationToken;
> import org.apache.shiro.authc.SimpleAccount;
> import org.apache.shiro.authc.UsernamePasswordToken;
> import org.apache.shiro.authc.credential.Sha256CredentialsMatcher;
> import org.apache.shiro.authz.AuthorizationInfo;
> import org.apache.shiro.realm.AuthorizingRealm;
> import org.apache.shiro.subject.PrincipalCollection;
> /**
>  *
>  * @author Suhail
>  */
> public class TreeRealm extends AuthorizingRealm  {
>
>     private static final Logger LOG =
> Logger.getLogger(TreeRealm.class.getName());
>
>     public TreeRealm(){
>         setCredentialsMatcher(new Sha256CredentialsMatcher());
>         setCachingEnabled(false);
>         LOG.log(Level.INFO, "{0} Started", TreeRealm.class.getName());
>     }
>     @Override
>     protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection
> pc) {
>         throw new UnsupportedOperationException("Not supported yet.");
>     }
>     @Override
>     protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken
> at) throws AuthenticationException {
>         UsernamePasswordToken upToken = (UsernamePasswordToken) at;
>         SimpleAccount account = new SimpleAccount(upToken.getUsername(),
> upToken.getPassword(), getName());
>         account.addRole("admin");
>         account.addRole("user");
>         account.addStringPermission("/account/*:*");
>         return account;
>     }
> }
> Thanks for your help again.
> Cheers
> su./hail
> On Sun, Aug 1, 2010 at 9:10 AM, armandoxxx <[hidden email]> wrote:
>>
>> Some code would be nice !
>> Kind regards
>> Armando
>>
>> On Sun, Aug 1, 2010 at 4:05 AM, Suhail Manzoor [via Shiro User] <[hidden
>> email]> wrote:
>>>
>>> Hi,
>>> I have been looking into Shiro to evaluate if it as a candidate for a
>>> project I am working on. I need to develop a realm which I did from the
>>> examples. I also need to integrate it with a JSF based application. I did
>>> the two things along with a login page. I have followed the Shiro web
>>> example to the letter except for using JSF instead of just jsp. But there
>>> seems to be a problem. After authenticating, the app doesn't display the
>>> protected page but keep displaying the login page. I have been trying to
>>> figure out whats been happening for a couple of days but no avail. Could
>>> anyone please help me. I really like the clean API shiro has and would like
>>> to use it going forward.
>>> Thank you very much
>>> su./hail
>>>
>>> ________________________________
>>> View message @
>>> http://shiro-user.582556.n2.nabble.com/Newbie-stuck-with-his-own-realm-please-help-tp5359975p5359975.html
>>> To start a new topic under Shiro User, email [hidden email]
>>> To unsubscribe from Shiro User, click here.
>>
>>
>> ________________________________
>> View this message in context: Re: Newbie stuck with his own realm please
>> help
>> Sent from the Shiro User mailing list archive at Nabble.com.
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Newbie stuck with his own realm please help

kaosko
I didn't try it but throwing UnsupportedOperationException in
doGetAuthorizationInfo() looks suspicious to me, especially given that
you are explicitly using role/url-based permissions. You should add
the roles in doGetAuthorizationInfo() - you could simply return a
static SimpleAccountInfo with the right roles and see if it makes a
difference. I'm not convinced that creating SimpleAccount in
doGetAuthenticationInfo() only would or should work.

Kalle


On Mon, Aug 2, 2010 at 1:03 PM, Les Hazlewood <[hidden email]> wrote:

> Hi Suhail,
>
> Your config looks pretty good, but as of Shiro 1.0, there is no need
> for a [filters] section anymore - all object/DI config should be in
> [main].
>
> Is there a test case or trivial test webapp you could attach to a Jira
> issue that replicates the problem?  If so, I can look at it right away
> - I just don't have the time at the moment to write the test case
> myself.
>
> Regards,
>
> Les
>
> On Sun, Aug 1, 2010 at 4:32 AM, Suhail Ahmed <[hidden email]> wrote:
>> Thanks for jumping in Armando.
>> My web.xml look like the following, followed by my realm. The login page is
>> the same that shipped with the example. I am running it under glassfish 3,
>> compliant with the j2ee 6 spec. The realm does get invoked but then it
>> doesn't load the resource under /account/* but just redisplays the same
>> login page.
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>> http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
>>     <context-param>
>>         <param-name>javax.faces.PROJECT_STAGE</param-name>
>>         <param-value>Development</param-value>
>>     </context-param>
>>     <filter>
>>         <filter-name>ShiroFilter</filter-name>
>>
>>  <filter-class>org.apache.shiro.web.servlet.IniShiroFilter</filter-class>
>>         <init-param>
>>             <param-name>config</param-name>
>>             <param-value>
>>                 [main]
>>                 matcher =
>> org.apache.shiro.authc.credential.Sha256CredentialsMatcher
>>                 mmer = prototype.security.shiro.realm.TreeRealm
>>                 mmer.credentialsMatcher = $matcher
>>                 [users]
>>                 [roles]
>>                 [filters]
>>                 shiro.loginUrl = /login.xhtml
>>                 shiro.successUrl  = /home.xhtml
>>                 [urls]
>>                 # The /login.xhtml is not restricted to authenticated users
>> (otherwise no one could log in!), but
>>                 # the 'authc' filter must still be specified for it so it
>> can process that url's
>>                 # login submissions. It is 'smart' enough to allow those
>> requests through as specified by the
>>                 # shiro.loginUrl above.
>>                 /login.xhtml = authc
>>                 /account/** = authc, roles[admin]
>>                 /remoting/** = authc, roles[b2bClient],
>> perms["remote:invoke:lan,wan"]
>>             </param-value>
>>         </init-param>
>>     </filter>
>>     <filter-mapping>
>>         <filter-name>ShiroFilter</filter-name>
>>         <url-pattern>/*</url-pattern>
>>     </filter-mapping>
>>     <filter>
>>         <filter-name>Pretty Filter</filter-name>
>>         <filter-class>com.ocpsoft.pretty.PrettyFilter</filter-class>
>>     </filter>
>>     <filter-mapping>
>>         <filter-name>Pretty Filter</filter-name>
>>         <url-pattern>/u/*</url-pattern>
>>         <dispatcher>REQUEST</dispatcher>
>>         <dispatcher>FORWARD</dispatcher>
>>         <dispatcher>ERROR</dispatcher>
>>     </filter-mapping>
>>     <servlet>
>>         <servlet-name>Resource Servlet</servlet-name>
>>
>>  <servlet-class>org.primefaces.resource.ResourceServlet</servlet-class>
>>     </servlet>
>>     <servlet>
>>         <servlet-name>Faces Servlet</servlet-name>
>>         <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
>>         <load-on-startup>1</load-on-startup>
>>     </servlet>
>>     <servlet-mapping>
>>         <servlet-name>Faces Servlet</servlet-name>
>>         <url-pattern>/u/*</url-pattern>
>>     </servlet-mapping>
>>     <servlet-mapping>
>>         <servlet-name>Resource Servlet</servlet-name>
>>         <url-pattern>/primefaces_resource/*</url-pattern>
>>     </servlet-mapping>
>>     <persistence-context-ref>
>>
>>  <persistence-context-ref-name>persistence/LogicalName</persistence-context-ref-name>
>>         <persistence-unit-name>opensocial</persistence-unit-name>
>>     </persistence-context-ref>
>>     <resource-ref>
>>         <res-ref-name>UserTransaction</res-ref-name>
>>         <res-type>javax.transaction.UserTransaction</res-type>
>>         <res-auth>Container</res-auth>
>>     </resource-ref>
>>     <session-config>
>>         <session-timeout>
>>             30
>>         </session-timeout>
>>     </session-config>
>>     <welcome-file-list>
>>         <welcome-file>index.xhtml</welcome-file>
>>     </welcome-file-list>
>> </web-app>
>> <<----------------- TreeRealm.java -------------------->>
>> package prototype.security.shiro.realm;
>> import java.util.logging.Level;
>> import java.util.logging.Logger;
>> import org.apache.shiro.authc.AuthenticationException;
>> import org.apache.shiro.authc.AuthenticationInfo;
>> import org.apache.shiro.authc.AuthenticationToken;
>> import org.apache.shiro.authc.SimpleAccount;
>> import org.apache.shiro.authc.UsernamePasswordToken;
>> import org.apache.shiro.authc.credential.Sha256CredentialsMatcher;
>> import org.apache.shiro.authz.AuthorizationInfo;
>> import org.apache.shiro.realm.AuthorizingRealm;
>> import org.apache.shiro.subject.PrincipalCollection;
>> /**
>>  *
>>  * @author Suhail
>>  */
>> public class TreeRealm extends AuthorizingRealm  {
>>
>>     private static final Logger LOG =
>> Logger.getLogger(TreeRealm.class.getName());
>>
>>     public TreeRealm(){
>>         setCredentialsMatcher(new Sha256CredentialsMatcher());
>>         setCachingEnabled(false);
>>         LOG.log(Level.INFO, "{0} Started", TreeRealm.class.getName());
>>     }
>>     @Override
>>     protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection
>> pc) {
>>         throw new UnsupportedOperationException("Not supported yet.");
>>     }
>>     @Override
>>     protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken
>> at) throws AuthenticationException {
>>         UsernamePasswordToken upToken = (UsernamePasswordToken) at;
>>         SimpleAccount account = new SimpleAccount(upToken.getUsername(),
>> upToken.getPassword(), getName());
>>         account.addRole("admin");
>>         account.addRole("user");
>>         account.addStringPermission("/account/*:*");
>>         return account;
>>     }
>> }
>> Thanks for your help again.
>> Cheers
>> su./hail
>> On Sun, Aug 1, 2010 at 9:10 AM, armandoxxx <[hidden email]> wrote:
>>>
>>> Some code would be nice !
>>> Kind regards
>>> Armando
>>>
>>> On Sun, Aug 1, 2010 at 4:05 AM, Suhail Manzoor [via Shiro User] <[hidden
>>> email]> wrote:
>>>>
>>>> Hi,
>>>> I have been looking into Shiro to evaluate if it as a candidate for a
>>>> project I am working on. I need to develop a realm which I did from the
>>>> examples. I also need to integrate it with a JSF based application. I did
>>>> the two things along with a login page. I have followed the Shiro web
>>>> example to the letter except for using JSF instead of just jsp. But there
>>>> seems to be a problem. After authenticating, the app doesn't display the
>>>> protected page but keep displaying the login page. I have been trying to
>>>> figure out whats been happening for a couple of days but no avail. Could
>>>> anyone please help me. I really like the clean API shiro has and would like
>>>> to use it going forward.
>>>> Thank you very much
>>>> su./hail
>>>>
>>>> ________________________________
>>>> View message @
>>>> http://shiro-user.582556.n2.nabble.com/Newbie-stuck-with-his-own-realm-please-help-tp5359975p5359975.html
>>>> To start a new topic under Shiro User, email [hidden email]
>>>> To unsubscribe from Shiro User, click here.
>>>
>>>
>>> ________________________________
>>> View this message in context: Re: Newbie stuck with his own realm please
>>> help
>>> Sent from the Shiro User mailing list archive at Nabble.com.
>>
>>
>