<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-193  評論-715  文章-1  trackbacks-0

    環境:
    BlazeDS 3.2.0.3978
    Tomcat 6.0.29 (本例在Tomcat 5.5中不能正常運行,因為Tomcat 5.5的context部分的設計與6.0不一樣)
    Java5

    1,在service-config.xml中加入認證和角色(組)的定義:
    <security>
            
    <login-command class="flex.messaging.security.TomcatLoginCommand" server="Tomcat" />
            
    <security-constraint id="trusted">
            
    <auth-method>Basic</auth-method>
                
    <roles>
                    
    <role>tomcat</role>
                
    </roles>
            
    </security-constraint>
            
    <security-constraint id="users">
                
    <auth-method>Basic</auth-method>
                
    <roles>
                    
    <role>role1</role>
                    
    <role>tomcat</role>
                
    </roles>
            
    </security-constraint>
        
    </security>
    需要說明的是,這里的security-constraint tag相當于一個角色組,其id屬性就是角色組的ID,如users角色組包含role1和tomcat兩個角色。
    auth-method tag表示認證的方式,Basic即采用HTTP Basic認證方式,也可以自己實現認證方式,可調定為Custom,關于此種認證方式,我將在稍后分享給大家。

    這些角色和用戶,均被定義在Tomcat的conf/tomcat-users.xml配置中:
    <?xml version='1.0' encoding='utf-8'?>
    <tomcat-users>
    <!--
      NOTE:  By default, no user is included in the "manager" role required
      to operate the "/manager" web application.  If you wish to use this app,
      you must define such a user - the username and password are arbitrary.
    -->
    <!--
      NOTE:  The sample user and role entries below are wrapped in a comment
      and thus are ignored when reading this file. Do not forget to remove
      <!.. ..> that surrounds them.
    -->

      
    <role rolename="tomcat"/>
      
    <role rolename="role1"/>
      
    <role rolename="manager"/>
      
    <user username="admin" password="admin" roles="manager"/>
      
    <user username="tomcat" password="tomcat" roles="tomcat"/>
      
    <user username="both" password="tomcat" roles="tomcat,role1"/>
      
    <user username="role1" password="tomcat" roles="role1"/>

    </tomcat-users>


    2,在remote-config.xml中配置具體的destination的權限約束:
    <destination id="Domain">
            
    <properties>
                
    <source>com.robin.service.domain.DomainService</source>
                
    <include-methods>
                
    <method name="getAllDomains"/>
                
    <method name="addOrUpdateDomain" security-constraint="trusted"/>
                
    </include-methods>
            
    </properties>
            
    <security>
                
    <security-constraint ref="users"/>
            
    </security>
        
    </destination>
    在此配置中,定義所有的方法只要是users角色組中的用戶即可訪問,但是addOrUpdateDomain方法需要trusted角色組中的用戶才能訪問。

    3,將BlazeDS與Tomcat結合所依賴的lib復制到lib目錄中,包含flex-tomcat-common.jar和flex-tomcat-server.jar兩個JAR。

    4,修改Tomcat目錄下的conf/context.xml文件,加入如下Context(在Tomcat5.5中無法成功):
    <Valve className="flex.messaging.security.TomcatValve"/>

    好了,就這么簡單,重啟Tomcat,即可驗證了。

    總結一下:
    1,引入了角色組的概念,這個比較好。
    2,角色和用戶定義依賴于Tomcat,無法定義在如DBMS中,不方便修改。
    3,跨平臺性不好。
    4,資源與權限的映射關系在開發時已經綁定死,無法動態修改。


    PS:2010.4.28. 分享給大家不依賴Tomcat容器實現認證與授權的例子,如有需要,請參考:《BlazeDS自定義認證與權限控制

    本Blog所有內容不得隨意轉載,版權屬于作者所有。如需轉載請與作者聯系( fastzch@163.com    QQ:9184314)。
    未經許可的轉載,本人保留一切法律權益。
    一直以來,發現有某些人完全不尊重我的勞動成果,隨意轉載,提醒一下那些人小心哪天惹上官司。

    posted on 2010-04-27 09:56 Robin's Programming World 閱讀(2348) 評論(0)  編輯  收藏 所屬分類: JavaFlex & Flash
    主站蜘蛛池模板: 久久不见久久见免费影院www日本| 污网站在线观看免费| 免费萌白酱国产一区二区三区 | 一级毛片免费播放男男| 国产精品久免费的黄网站| 亚洲av永久无码精品网址| 免费爱爱的视频太爽了| 国产成人综合久久精品亚洲| 国产一级淫片a免费播放口之| 精品国产_亚洲人成在线| 亚洲国产精品尤物yw在线 | 亚洲精品无码久久毛片| fc2成年免费共享视频18| 亚洲成a人片在线观看日本| 男的把j放进女人下面视频免费| 五月天网站亚洲小说| 免费人成网站在线观看10分钟| 亚洲中文字幕无码中文字| 国产成人免费网站在线观看 | 亚洲精品综合久久中文字幕| 无人在线直播免费观看| 国产成人精品日本亚洲语音| 亚洲国产成人精品91久久久| 中文字幕日本人妻久久久免费| 亚洲美女视频网站| 日韩一区二区在线免费观看| 国产男女爽爽爽免费视频| 亚洲视频一区调教| 女人与禽交视频免费看| jizz在线免费观看| 久久精品国产亚洲av日韩| 中文字幕人成无码免费视频| 日本视频免费观看| 亚洲精品国产成人专区| 日本高清免费网站| 免费的全黄一级录像带| 亚洲色欲色欲www在线播放| 久久国产成人精品国产成人亚洲| 亚洲一级毛片免费看| 伊人久久国产免费观看视频| 亚洲网站视频在线观看|