2016-08-21 7 views
0
 <Filter> 
            <Filter-name> shiroFilter </ filter-name> 
            <Filter-class> org.springframework.web.filter.DelegatingFilterProxy </ filter-class> 
            <Init-param> 
                <Param-name> targetFilterLifecycle </ param-name> 
                <Param-value> true </ param-value> 
            </ Init-param> 
        </ Filter> 
            <Filter-mapping> 
                <Filter-name> shiroFilter </ filter-name> 
                <Url-pattern>/admin/* </ url-pattern> 
            </ Filter-mapping> 
     
        <Filter> 
        <Filter-name> menberShiroFilter </ filter-name> 
            <Filter-class> org.springframework.web.filter.DelegatingFilterProxy </ filter-class> 
            <Init-param> 
                <Param-name> targetFilterLifecycle </ param-name> 
                <Param-value> true </ param-value> 
            </ Init-param> 
        </ Filter> 
            <Filter-mapping> 
                <Filter-name> menberShiroFilter </ filter-name> 
                <Url-pattern>/menber/* </ url-pattern> 
            </ Filter-mapping> 

史郎とウェブの統合をweb.xmlに設定されている場合史郎は、URL接頭辞に応じてさまざまな方法で検証方法

質問は今ある:ときに同じビューで、管理者接頭辞URLへのアクセスでhttp:// localhost:8080/admin/index.doのようなホームページにジャンプし、このブラウザウィンドウhttp:// localhost:8080/menber/index.doを入力してください。 URLプレフィックスに直接アクセスすることができ、今必要ではありません:menberがログインしていない場合は、プレフィックスを記録する必要があります。

答えて

0

私は完全に質問に従ってください、あなたはこのドキュメントを見てみたいことはよく分からない:http://shiro.apache.org/web.html#Web-WebINIconfiguration

代わりに二回フィルタマッピングを定義するので、あなたは「/ *」すべてのものをフィルタリングすることができます。その後、shiro.ini(または春の豆) [urls] /index.html = anon /user/create = anon /user/** = authc /admin/** = authc, roles[administrator] /remoting/rpc/** = authc, perms["remote:invoke"]

これはindex.html/user/createが匿名ユーザーにご利用いただけます。この場合には、既存の例から取られたが、/user/**だけでログインが必要です経由でアクセス要件を設定ユーザー。 /admin/**には、アクセス許可がadministratorのログインユーザーが必要です。最後に/remoting/rpc/**には、アクセス許可がremote:invokeのログインユーザーが必要です。

+0

ありがとうございます。http:// localhost:8080/admin/login.jspログインが成功し、同じブラウザでhttp:// localhost:8080/menber/indexと入力すると、メンバログインでなければ、http:// localhost:8080/menber/login.jspログインページにジャンプする必要があります。あなたのアプローチによると、明らかに共通の主題であるため、ああ達成することはできません、私はこの方法を要求する?ありがとうございました。 。 – stackhuige

関連する問題