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

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

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

    不可不說
    隨心所欲,無往不利!
    posts - 88,  comments - 92,  trackbacks - 0
    Spring Security 2.0 簡稱SS2(和國內很出名的SpringSide的簡寫一樣啊)
    也就是以前的ACEGI,功能很好,很強大,但是我覺得也不能在項目中爛用,
    并且,要靈活采取一些措施來有效減少性能損失。
    通過從它的工作原理來分析,使用了SS2(acegi),那么你的每個鏈接都將處于
    它的監控之下,對于每一個訪問的請求,它都要鍥而不舍的去檢查一下,是不是
    符合我們的要求,一般來說,首先要看看你是不是系統的用戶,嗯嗯,轉一圈,
    然后看看你有沒有權限,最簡單的又是一圈下來,時間就這樣被占用了去,如果
    你有多個投票者,那么都要多轉幾圈。當然單單對單用戶或少量的用戶的系統來說
    沒有問題,如過用戶多了,你在用上一些花樣比如AJAX,甚至對一些資源比如js/img/css等
    也進行權限控制的話,那么所有的這些東西,如果不去緩存,統統需要訪問Server得到,
    呵呵,一個頁面可能要進行好多次的驗證才能過啊,對用戶的一個點擊來說,可能只是
    不到一秒的時間,可是如果并行的用戶多,服務器。。。有點玄。

    所以:
    1:盡量減少權限認證的內容,比如能用一個投票者的就盡量不用多個。
    2:對一些不涉及敏感數據的資源,不要去驗證,比如js/css/img等。
    3:盡量減少一個頁面中的資源請求,比如頁面中使用盡量少的引用(js/css/img/jsp/html等)
    4:盡量不要把資源(URL)定義的過細,通過對URL權限檢查代碼的分析,給定一個URL,
         它是去循環整個URL-Role列表去比對的,如果你定義的URL-ROLE越多,呵呵,時間上也越多。
         比較好的方法就是,能用目錄角色來限定的,就決不再定義目錄下的資源得角色,
         盡量減少URL-ROLE列表的數量,提高命中率。
    5:雖然SS2也提供了方法級的控制,個人認為,能用系統結構上的差分解決的就決不要進行方法級的控制,
       否則,性能會降得更多。
    當然:
        如果你要做的系統硬件足夠強大,以至于不再考慮性能問題,而專注于權限問題,上面的幾點大可不必太在意。
    最后又想到了一點,如果你的系統很大,我的意思是有N多的模塊和頁面,那么,你就要有足夠的心理準備去做URL-ROLE-USER的配置工作了,如果用戶結構也比較復雜,數量也比較多,還要加上Group等,在這里我就要祝你好運了。

    補充:
    6:
    有網友說可以減少上面第2/3所說的URL,在網上查了一下,可以在web.xml中配置過濾器時把一些不必要的URL給過濾掉從而提高性能,
    仍以Struts2為例如下:
    原來的配置   
        <filter-mapping>
            
    <filter-name>springSecurityFilterChain</filter-name>
            
    <url-pattern>/*</url-pattern>
        </filter-mapping>

    修改后:
        <filter-mapping>
            
    <filter-name>springSecurityFilterChain</filter-name>
            
    <url-pattern>*.action</url-pattern>
        </filter-mapping>
        <filter-mapping>
            <filter-name>springSecurityFilterChain</filter-name>
            <url-pattern>*.jsp</url-pattern>
        </filter-mapping>
        <filter-mapping>
            <filter-name>springSecurityFilterChain</filter-name>
            <url-pattern>*.do</url-pattern>
        </filter-mapping>

    當然,這樣一來,必須要保證所有需要進行權限驗證的URL都能在這里列出來,否則,就有后門啊,要小心


    posted on 2008-08-28 15:27 藍劍 閱讀(4033) 評論(5)  編輯  收藏

    FeedBack:
    # re: 關于Spring Security 在項目中應用的幾點建議
    2008-08-28 15:50 | xcliu
    您真的用過么?聽過:
    1)聽說可以對資源/ajax/js/images等定義空的FilterChain, 避免
    2)聽說在FilterChain中可以通過session簡化驗證。

    我感覺,只要有權限控制的系統,那么就要定義規則,只不過這類規則是通過何種方式定義的(可以是聲明式的,可以是程序硬編碼),因此也只是我們是否接受acegi的風格而已。
      回復  更多評論
      
    # re: 關于Spring Security 在項目中應用的幾點建議
    2008-08-28 16:57 | 藍劍
    @xcliu
    不管怎么去定義,SS2總是會去截留這些請求,然后去分析它,是什么東西,
    即使不去驗證它的權限,使用你說的空的FilterChain,也是需要去判斷的,而且所有的URL都須去進行檢查,也是需要時間的,也就是說,你在這里避免了,肯定在其他方面要付出的。  回復  更多評論
      
    # re: 關于Spring Security 在項目中應用的幾點建議[未登錄]
    2008-08-29 12:59 | Hibernating
    想image,js,css這些資源直接定義為#NONE#就可以啊。
    最近正在看Spring Security,我覺得系統提供的處理方式是靈活多樣的,只要根據自己的需求去選擇和定義保護資源,我覺得挺好的。  回復  更多評論
      
    # re: 關于Spring Security 在項目中應用的幾點建議
    2008-08-29 20:49 | 藍劍
    樓上的,我跟蹤過代碼,即使定義成#NONE#好像也要做不少的處理才結束,時間的浪費是不可避免的。

    不過,話說回來了,只要用權限管理,不管什么方式,性能上的代價是不可避免的
    只是多或者少罷了。  回復  更多評論
      
    # re: 關于Spring Security 在項目中應用的幾點建議
    2008-09-12 10:49 | nk
    不錯,支持你!  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     


    <2008年8月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    常用鏈接

    留言簿(6)

    隨筆分類(62)

    隨筆檔案(90)

    文章檔案(9)

    相冊

    友情鏈接

    搜索

    •  

    積分與排名

    • 積分 - 325240
    • 排名 - 172

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 美女被免费喷白浆视频| 免费91麻豆精品国产自产在线观看| 18禁无遮挡无码国产免费网站| 亚洲国产精品久久久天堂 | 一区二区在线免费视频| 国产公开免费人成视频| 99精品热线在线观看免费视频| 一二三四免费观看在线视频中文版| 亚洲日韩在线观看| 一级女人18片毛片免费视频| 国产成人亚洲精品影院| 国产精品hd免费观看| 综合亚洲伊人午夜网| 无码日韩精品一区二区免费暖暖| 亚洲av无码专区在线播放| 少妇无码一区二区三区免费| 亚洲成a人片在线观看播放| 免费毛片在线播放| 黄色一级毛片免费看| 国产亚洲日韩在线三区| 波多野结衣免费一区视频 | 亚洲熟妇无码爱v在线观看| 中文毛片无遮挡高潮免费| 亚洲熟妇丰满xxxxx| avtt亚洲天堂| 在线观看片免费人成视频无码| 亚洲免费在线视频| 一级特黄录像视频免费| 亚洲AV无码一区二区三区系列| 国产精品成人免费福利| 亚洲jizzjizz少妇| 亚洲午夜福利在线观看| 日本免费网站视频www区| 亚洲国产AV一区二区三区四区| 亚洲乱码国产一区网址| 免费人成在线观看网站| 亚洲精品无码久久久久APP| 国产亚洲精品不卡在线| 国产免费AV片在线播放唯爱网| 国产精品亚洲二区在线| 亚洲综合在线观看视频|