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

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

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

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

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

    補(bǔ)充:
    6:
    有網(wǎng)友說(shuō)可以減少上面第2/3所說(shuō)的URL,在網(wǎng)上查了一下,可以在web.xml中配置過(guò)濾器時(shí)把一些不必要的URL給過(guò)濾掉從而提高性能,
    仍以Struts2為例如下:
    原來(lái)的配置   
        <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>

    當(dāng)然,這樣一來(lái),必須要保證所有需要進(jìn)行權(quán)限驗(yàn)證的URL都能在這里列出來(lái),否則,就有后門(mén)啊,要小心


    posted on 2008-08-28 15:27 藍(lán)劍 閱讀(4031) 評(píng)論(5)  編輯  收藏

    FeedBack:
    # re: 關(guān)于Spring Security 在項(xiàng)目中應(yīng)用的幾點(diǎn)建議
    2008-08-28 15:50 | xcliu
    您真的用過(guò)么?聽(tīng)過(guò):
    1)聽(tīng)說(shuō)可以對(duì)資源/ajax/js/images等定義空的FilterChain, 避免
    2)聽(tīng)說(shuō)在FilterChain中可以通過(guò)session簡(jiǎn)化驗(yàn)證。

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

    不過(guò),話說(shuō)回來(lái)了,只要用權(quán)限管理,不管什么方式,性能上的代價(jià)是不可避免的
    只是多或者少罷了。  回復(fù)  更多評(píng)論
      
    # re: 關(guān)于Spring Security 在項(xiàng)目中應(yīng)用的幾點(diǎn)建議
    2008-09-12 10:49 | nk
    不錯(cuò),支持你!  回復(fù)  更多評(píng)論
      

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     


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

    常用鏈接

    留言簿(6)

    隨筆分類(62)

    隨筆檔案(90)

    文章檔案(9)

    相冊(cè)

    友情鏈接

    搜索

    •  

    積分與排名

    • 積分 - 325136
    • 排名 - 172

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲国产精品成人网址天堂| 久久国产乱子伦精品免费强| 国产精品高清视亚洲一区二区| 亚洲精品无码久久久久久久 | 国产97视频人人做人人爱免费| 丰满亚洲大尺度无码无码专线| 亚洲欧洲国产综合AV无码久久| 亚洲狠狠婷婷综合久久蜜芽| 亚洲av中文无码乱人伦在线观看| 亚洲精品无码av中文字幕| 亚洲av无码一区二区三区在线播放 | 最近2019免费中文字幕6| 91av视频免费在线观看| 国产成人精品免费视频动漫| 无人在线直播免费观看| 最近2019中文字幕mv免费看| 免费无码又爽又刺激高潮的视频| 国产成人免费ā片在线观看| 免费成人午夜视频| 亚洲精品国产品国语在线| 亚洲av无码一区二区三区乱子伦| 亚洲黄色免费电影| 亚洲中文字幕精品久久| 高潮内射免费看片| 成人性生交大片免费看中文| 99久久99久久精品免费观看| 欧洲黑大粗无码免费| 内射无码专区久久亚洲| 亚洲AV无码久久精品成人| 国产精品久久亚洲不卡动漫| 亚洲AV网一区二区三区| 国产又黄又爽胸又大免费视频| 无码国产精品一区二区免费模式 | 99在线在线视频免费视频观看| 久久经典免费视频| 免费人成在线观看播放国产 | 久久久久久亚洲精品| 国产成人精品亚洲日本在线| 人成电影网在线观看免费| 日韩免费无码视频一区二区三区| 成人毛片18女人毛片免费96|