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

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

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

    xyz20003

    www.mossle.com
    隨筆 - 34, 文章 - 0, 評論 - 124, 引用 - 0
    數(shù)據(jù)加載中……

    Spring Security手冊更新——添加“管理會話”和對namespace,database的整理

    新增的部分有,第八章“管理會話”,附錄D,E分別整理了命名空間中的元素和屬性,以及數(shù)據(jù)庫表結(jié)構(gòu)。

    10. 管理會話
    10.1. 添加監(jiān)聽器
    10.2. 添加過濾器
    10.3. 控制策略
    10.3.1. 后登陸的將先登錄的踢出系統(tǒng)
    10.3.2. 后面的用戶禁止登陸
    D. 命名空間
    D.1. http
    D.2. authentication-provider
    D.3. ldap-server
    D.4. global-method-security
    E. 數(shù)據(jù)庫表結(jié)構(gòu)
    E.1. User
    E.2. Group
    E.3. RememberMe
    E.4. ACL

    posted @ 2009-06-22 10:02 臨遠 閱讀(1104) | 評論 (3)編輯 收藏

    圖解Spring Security默認使用的過濾器

    第 9 章 圖解過濾器

    auto-config='true'時的過濾器列表

    圖 9.1. auto-config='true'時的過濾器列表


    9.1. HttpSessionContextIntegrationFilter

    org.springframework.security.context.HttpSessionContextIntegrationFilter

    圖 9.2. org.springframework.security.context.HttpSessionContextIntegrationFilter


    位于過濾器頂端,第一個起作用的過濾器。

    用 途一,在執(zhí)行其他過濾器之前,率先判斷用戶的session中是否已經(jīng)存在一個SecurityContext了。如果存在,就把 SecurityContext拿出來,放到SecurityContextHolder中,供Spring Security的其他部分使用。如果不存在,就創(chuàng)建一個SecurityContext出來,還是放到SecurityContextHolder中, 供Spring Security的其他部分使用。

    用途二,在所有過濾器執(zhí)行完畢后,清空SecurityContextHolder,因為SecurityContextHolder是基于ThreadLocal的,如果在操作完成后清空ThreadLocal,會受到服務器的線程池機制的影響。

    9.2. LogoutFilter

    org.springframework.security.ui.logout.LogoutFilter

    圖 9.3. org.springframework.security.ui.logout.LogoutFilter


    只處理注銷請求,默認為/j_spring_security_logout。

    用途是在用戶發(fā)送注銷請求時,銷毀用戶session,清空SecurityContextHolder,然后重定向到注銷成功頁面。可以與rememberMe之類的機制結(jié)合,在注銷的同時清空用戶cookie。

    9.3. AuthenticationProcessingFilter

    org.springframework.security.ui.webapp.AuthenticationProcessingFilter

    圖 9.4. org.springframework.security.ui.webapp.AuthenticationProcessingFilter


    處理form登陸的過濾器,與form登陸有關(guān)的所有操作都是在此進行的。

    默認情況下只處理/j_spring_security_check請求,這個請求應該是用戶使用form登陸后的提交地址,form所需的其他參數(shù)可以參考:???

    此過濾器執(zhí)行的基本操作時,通過用戶名和密碼判斷用戶是否有效,如果登錄成功就跳轉(zhuǎn)到成功頁面(可能是登陸之前訪問的受保護頁面,也可能是默認的成功頁面),如果登錄失敗,就跳轉(zhuǎn)到失敗頁面。

    9.4. DefaultLoginPageGeneratingFilter

    org.springframework.security.ui.webapp.DefaultLoginPageGeneratingFilter

    圖 9.5. org.springframework.security.ui.webapp.DefaultLoginPageGeneratingFilter


    此過濾器用來生成一個默認的登錄頁面,默認的訪問地址為/spring_security_login,這個默認的登錄頁面雖然支持用戶輸入用戶名,密碼,也支持rememberMe功能,但是因為太難看了,只能是在演示時做個樣子,不可能直接用在實際項目中。

    如果想自定義登陸頁面,可以參考:第 4 章 自定義登陸頁面

    9.5. BasicProcessingFilter

    org.springframework.security.ui.basicauth.BasicProcessingFilter

    圖 9.6. org.springframework.security.ui.basicauth.BasicProcessingFilter


    此過濾器用于進行basic驗證,功能與AuthenticationProcessingFilter類似,只是驗證的方式不同。有關(guān)basic驗證的詳細情況,我們會在后面的章節(jié)中詳細介紹。

    有關(guān)basic驗證的詳細信息,可以參考:第 12 章 basic認證

    9.6. SecurityContextHolderAwareRequestFilter

    org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter

    圖 9.7. org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter


    此過濾器用來包裝客戶的請求。目的是在原始請求的基礎(chǔ)上,為后續(xù)程序提供一些額外的數(shù)據(jù)。比如getRemoteUser()時直接返回當前登陸的用戶名之類的。

    9.7. RememberMeProcessingFilter

    org.springframework.security.ui.rememberme.RememberMeProcessingFilter

    圖 9.8. org.springframework.security.ui.rememberme.RememberMeProcessingFilter


    此過濾器實現(xiàn)RememberMe功能,當用戶cookie中存在rememberMe的標記,此過濾器會根據(jù)標記自動實現(xiàn)用戶登陸,并創(chuàng)建SecurityContext,授予對應的權(quán)限。

    有關(guān)rememberMe功能的詳細信息,可以參考:第 14 章 自動登錄

    9.8. AnonymousProcessingFilter

    org.springframework.security.providers.anonymous.AnonymousProcessingFilter

    圖 9.9. org.springframework.security.providers.anonymous.AnonymousProcessingFilter


    為了保證操作統(tǒng)一性,當用戶沒有登陸時,默認為用戶分配匿名用戶的權(quán)限。

    有關(guān)匿名登錄功能的詳細信息,可以參考:第 15 章 匿名登錄

    9.9. ExceptionTranslationFilter

    org.springframework.security.ui.ExceptionTranslationFilter

    圖 9.10. org.springframework.security.ui.ExceptionTranslationFilter


    此過濾器的作用是處理中FilterSecurityInterceptor拋出的異常,然后將請求重定向到對應頁面,或返回對應的響應錯誤代碼。

    9.10. SessionFixationProtectionFilter

    org.springframework.security.ui.SessionFixationProtectionFilter

    圖 9.11. org.springframework.security.ui.SessionFixationProtectionFilter


    防御會話偽造攻擊。有關(guān)防御會話偽造的詳細信息,可以參考:第 16 章 防御會話偽造

    9.11. FilterSecurityInterceptor

    org.springframework.security.intercept.web.FilterSecurityInterceptor

    圖 9.12. org.springframework.security.intercept.web.FilterSecurityInterceptor


    用戶的權(quán)限控制都包含在這個過濾器中。

    功能一:如果用戶尚未登陸,則拋出AuthenticationCredentialsNotFoundException“尚未認證異常”。

    功能二:如果用戶已登錄,但是沒有訪問當前資源的權(quán)限,則拋出AccessDeniedException“拒絕訪問異常”。

    功能三:如果用戶已登錄,也具有訪問當前資源的權(quán)限,則放行。

    至此,我們完全展示了默認情況下Spring Security中使用到的過濾器,以及每個過濾器的應用場景和顯示功能,下面我們會對這些過濾器的配置和用法進行逐一介紹。

    posted @ 2009-06-15 10:39 臨遠 閱讀(3621) | 評論 (6)編輯 收藏

    Spring Security-2.0導航-基礎(chǔ)篇,又添兩章

    目前我們在基礎(chǔ)篇中已經(jīng)編寫了六章,基本上可以帶新手從頭開始使用Spring Security了,稍稍還帶了一些定制的功能,有深有淺,等到下次整理時再考慮是否細分章節(jié),深挖內(nèi)容。

    I. 基礎(chǔ)篇
    1. 一個簡單的HelloWorld
    1.1. 配置過濾器
    1.2. 使用命名空間
    1.3. 完善整個項目
    1.4. 運行示例
    2. 使用數(shù)據(jù)庫管理用戶權(quán)限
    2.1. 修改配置文件
    2.2. 數(shù)據(jù)庫表結(jié)構(gòu)
    3. 自定義數(shù)據(jù)庫表結(jié)構(gòu)
    3.1. 自定義表結(jié)構(gòu)
    3.2. 初始化數(shù)據(jù)
    3.3. 獲得自定義用戶權(quán)限信息
    3.3.1. 處理用戶登陸
    3.3.2. 檢驗用戶權(quán)限
    4. 自定義登陸頁面
    4.1. 實現(xiàn)自定義登陸頁面
    4.2. 修改配置文件
    4.3. 登陸頁面中的參數(shù)配置
    4.4. 測試一下
    5. 使用數(shù)據(jù)庫管理資源
    5.1. 數(shù)據(jù)庫表結(jié)構(gòu)
    5.2. 初始化數(shù)據(jù)
    5.3. 實現(xiàn)從數(shù)據(jù)庫中讀取資源信息
    5.3.1. 需要何種數(shù)據(jù)格式
    5.3.2. 替換原有功能的切入點
    6. 控制用戶信息
    6.1. MD5加密
    6.2. 鹽值加密
    6.3. 用戶信息緩存
    6.4. 獲取當前用戶信息



    教程在線瀏覽地址:http://www.family168.com/oa/springsecurity/html/index.html

     

    基礎(chǔ)篇中的六部分內(nèi)容。

     

    第一部分,怎么用最小配置完成一個Spring Security項目。

    第二部分,如果使用數(shù)據(jù)庫保存用戶權(quán)限信息,該怎么配置。

    第三部分,如果不想用默認的數(shù)據(jù)庫結(jié)構(gòu),怎么適配已有的表結(jié)構(gòu)。

    第四部分,大家肯定嫌默認的登錄頁面太丑,這個時候怎么用自己制作的登錄頁面替換默認頁面。

    第五部分,把資源信息也寫到數(shù)據(jù)庫中。

    第六部分,有關(guān)用戶的一些操作,諸如用戶加密,用戶緩存,獲取當前用戶等等。

     

    對于還在探索嘗試階段中的我們,給予反饋是對我們的最大幫助了。如果沒有反饋意見,就很難有機會把這些寫的更好。THx.

    posted @ 2009-06-10 10:34 臨遠 閱讀(2054) | 評論 (6)編輯 收藏

    Spring Security-2.0入門教程

    歡迎閱讀咱們寫的Spring Security教程,咱們既不想寫一個簡單的入門教程,也不想翻譯已有的國外教程。咱們這個教程就是建立在咱們自己做的OA的基礎(chǔ)上,一點一滴總結(jié)出來的經(jīng)驗和教訓。

    首先必須一提的是,Spring Security出身名門,它是Spring的一個子項目http://static.springsource.org/spring-security/site/index.html。它之前有個很響亮的名字Acegi。這個原本坐落在sf.net上的項目,后來終于因為跟spring的緊密連接,在2.0時成為了Spring的一個子項目。

    即 使是在開源泛濫的Java領(lǐng)域,統(tǒng)一權(quán)限管理框架依然是稀缺的,這也是為什么Spring Security(Acegi)已出現(xiàn)就受到熱捧的原因,據(jù)俺 們所知,直到現(xiàn)在也只看到apache社區(qū)的jsecurity在做同樣的事情。(據(jù)小道消息,jsecurity還很稚嫩。)

    Spring Security(Acegi)支持一大堆的權(quán)限功能,然后它又和Spring這個當今超流行的框架整合的很緊密,所以我們選擇它。實際上自從Acegi時代它就很有名了。

    目前我們編寫了四章用于Spring Security入門的文檔,基本上可以帶新手從頭開始使用Spring Security了。

        1. 一個簡單的HelloWorld
            1.1. 配置過濾器
            1.2. 使用命名空間
            1.3. 完善整個項目
            1.4. 運行示例
        2. 使用數(shù)據(jù)庫保存權(quán)限信息
            2.1. 修改配置文件
            2.2. 數(shù)據(jù)庫表結(jié)構(gòu)
        3. 自定義數(shù)據(jù)庫表結(jié)構(gòu)
            3.1. 自定義表結(jié)構(gòu)
            3.2. 初始化數(shù)據(jù)
            3.3. 配置Spring Security
                3.3.1. 處理用戶登陸
                3.3.2. 檢驗用戶權(quán)限
        4. 自定義登陸頁面
            4.1. 實現(xiàn)自定義登陸頁面
            4.2. 修改配置文件
            4.3. 登陸頁面中的參數(shù)配置
            4.4. 測試一下

    教程在線瀏覽地址:http://www.family168.com/oa/springsecurity/html/index.html

    posted @ 2009-06-04 18:12 臨遠 閱讀(3972) | 評論 (8)編輯 收藏

    僅列出標題
    共4頁: 上一頁 1 2 3 4 
    主站蜘蛛池模板: 全部一级一级毛片免费看| 亚洲人成免费电影| 九九久久精品国产免费看小说 | 亚洲男人天堂2022| 18国产精品白浆在线观看免费| 亚洲网站在线观看| 67194国产精品免费观看| 亚洲精品高清国产麻豆专区| 亚洲免费福利视频| 亚洲中文无码av永久| 大学生美女毛片免费视频| 亚洲AV日韩AV永久无码色欲| 免费乱码中文字幕网站| 日韩电影免费在线观看网址| 亚洲伊人久久大香线蕉综合图片| 中国黄色免费网站| 久久精品国产亚洲av麻豆色欲| 成人午夜免费福利视频| 亚洲精品无码一区二区 | 91福利免费网站在线观看| 亚洲国产精品一区第二页| 99精品视频在线观看免费专区| 亚洲手机中文字幕| 免费毛片在线播放| 精品国产免费一区二区三区| 亚洲av丰满熟妇在线播放| 2021久久精品免费观看| 亚洲AV电影天堂男人的天堂| 亚洲愉拍99热成人精品热久久 | 免费观看a级毛片| 久久国产福利免费| 亚洲欧洲日本精品| 免费大黄网站在线观| 日韩免费视频一区二区| 亚洲精品色播一区二区| 国产亚洲色婷婷久久99精品91| 99re6免费视频| 未满十八私人高清免费影院| 久久精品国产亚洲综合色 | 亚洲第一页日韩专区| 99精品在线免费观看|