Shro User Manual-Into Spring


もっと読む
1.Overview
ShroのJavaBens互換性は、Spring XMLや他のSpringベースの配置を容易にすることができる.Shroはアプリケーション級のSecurityManager単例が必要です.なお、静的な一例である必要はなく、アプリケーションにSecurityManagerの一例が存在することを保証すれば良い.
2.Standarlone Application
Springアプリケーションにアプリケーション級のSecurityManagerを配置する場合の一例:



...



    
    







    
    

3.Webアプリ
ShroはSpringのwebアプリケーションをサポートします.webアプリケーションでは、すべてのShroがアクセスできるように要求されており、メインフィルタを通過します.このマスターフィルタは、URLパス表現に基づいて、フィルタチェーンを独自に定義することができます.
ここではSpring webアプリケーションに基づいてShroを配置します.
a.web.xml
Spring元素(Contect Loader Listener、Log 4 jConfigListenerなど)をweb.xmlで定義する必要があるほか、以下のようなフィルタを定義する必要があります.



    shiroFilter
    org.springframework.web.filter.DelegatingFilterProxy
    
        targetFilterLifecycle
        true
    


...





    shiroFilter
    /*

b.appication Contect.xml
appication Contect.xmlファイルでは、SecurityManagerとweb.xmlのフィルタと同名の「shiro Filter」beanを定義します.


    
    
    
    
    
    
    
        
            # some example chain definitions:
            /admin/** = authc, roles[admin]
            /docs/** = authc, perms[document:read]
            /** = authc
            # more URL-to-FilterChain definitions here
        
    







 ... 
...


    
    
    
    






...

4.Enbaling Shro Annotations
Shroの注釈を使用して、単一アプリケーションやwebアプリケーションでセキュリティチェックを行うことができます(@RequiresRoles、@RequiresPermissionsなど)、これはSpring AOPを統合する必要があります.
appication Contect.xmlは以下のように構成すればいいです.





    

5.Secure Spring Remoting
2つの構成は、Spring遠隔起動をサポートする.クライアントとサービス端末.
a.Server-side Cofigration
リモート・アプローチがShroサーバに入るとき、Subject関連RPC呼び出しは、スレッド実行中にアクセスするために受信スレッドにバインドされなければならない.これは、appication Contect.xmlにSecuremoteInvocationExectorを定義することによって行われる.




    

次に、定義されたbeanを使用するリモートExportに配置する.Exportの実装は、使用するリモートプロトコルに従って定義される.HTTPに基づくリモートプロトコルを使用する場合:


    
    
    

b.Client-side Cofigration
リモート呼出しを実行する場合、Subjectの識別情報はリモート呼出しの負荷に付加されなければなりません.クライアントがSpringに基づいている場合、SecuremoteInvocationFactoryを通じて、


そして、定義されたbeanを使用するProxyFactoryBeanに配置する.HTTPに基づくリモートプロトコルを使用する場合: