freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

springsecurity30中文幫助手冊-wenkub

2023-02-25 08:07:58 本頁面
 

【正文】 Security 開始于 2021 年年底, “spring 的 acegi 安全系統(tǒng) ” 。 Spring Security 不僅提供認證功能,也提供了完備的授權(quán)功能。 有時基本的認證是不夠的 , 有時你需要 根據(jù)在主體和應用交互的方式來應用不同的安全措施。 ) 許多獨立軟件供應商( ISVs, independent software vendors)采用 Spring Security,是因為它擁有豐富靈活的驗證模型。 在身 份驗證層面, Spring Security 廣泛支持各種身份驗證模式。 “ 認證 ” 是為用戶建立一個他所聲明的主體的過程,( “ 主體 ” 一般是指用戶,設備或可以在你系統(tǒng)中執(zhí)行行動的其他系統(tǒng))。這樣,如果你更換服務器環(huán)境, 就要 在新的目標環(huán)境進行大量的工作,對你的應用系統(tǒng)進行重新配置安全 。如果你沒有使用 Spring 開發(fā)企業(yè)軟件,我們熱情的推薦你仔細研究一下。它們值得試著運行,實驗,在你閱讀后面的章節(jié)之前 , 你可以在對框架有了更多連接之后再回來看這些例子。 Part I. 入門 本指南的后面部分提供對框架結(jié)構(gòu)和實現(xiàn)類的深入討論,了解它們,對你進行復雜的定制是十分重要的。特別的,如果你在制作一個 web 應用,你應該知道許多潛在的脆弱性,比如跨域腳本,偽造請求和會話劫持,這些都是你在一開始就應該考慮到的。我們也推薦你閱讀盡可能多的在應用安全中可能出現(xiàn)的一般問題。 請閱讀 Part I, “ 入門 ” 部分,以它作為開始。 Spring Security 關注的重點是在企業(yè)應用安全層為您提供服務,你將發(fā)現(xiàn)業(yè)務問題領域存在著各式各樣的需求。 在更高層上 , 你需要配置 Java 虛擬機,將授予不同 java 類 型權(quán)限最小化,然后,你的應用程序要添加針對自身特定問題域的安全 配置 。操作系統(tǒng)通常配置了自己的防火墻。在底層,你需要處理傳輸安全和系統(tǒng)認證,減少 “ 中間人攻擊 ” ( maninthemiddle attacks)。正如你在本手冊中看到的那樣,我們嘗試為您提供一套好用,高可配置的安全系統(tǒng)。 安全問題是一個不斷變化的目標,更重要的是尋求一種全面的,系統(tǒng)化的解決方案。接下來,我們 通常會使用防火墻,結(jié)合 VPN 或 IP 安全來確保只有獲得授權(quán)的系統(tǒng)才能嘗試連接。 然后你要防止針對系統(tǒng)的拒絕服務和暴力攻擊。 Spring Security 使后者 應用程序安全變得更容易。銀行系統(tǒng)跟電子商務應用就有很大的不同 。它向你介紹了整個框架和以命名空間為基礎系統(tǒng)配置方式,讓你可以很快啟動并運行系統(tǒng)。 Spring Security 也不是萬能的,它不可能解決所有問題。 OWASP 網(wǎng)站( web 應用脆弱性前十名的名單,還有很 多有用的參考信息。在這部分,我們將介紹 Spring Security ,簡要介紹該項目的歷史,然后看看如何開始在程序中使用框架。也請參考 項目網(wǎng)站 獲得構(gòu)建項目有用的信息,另外鏈接到網(wǎng)站,視頻和教程。熟悉 Spring 尤其是依賴注入原理將幫助你更快的掌握 Spring Security。 使用 Spring Security 解決了這些問題,也為你提供了很多有用的,可定制的其他安全特性。 “ 驗證 ” 指的一個用戶能否在你的應用中執(zhí)行某個操作。這些驗證模型絕大多數(shù)都由第三方提供,或正在開發(fā)的有關標準機構(gòu)提供的,例如 Inter Engineering Task Force。這樣,無論終端用戶需要什么,他們都可以快速集成到系統(tǒng)中,不用花很多功夫,也不用讓用戶改變運行環(huán)境。比如, 為了保護密碼,不被竊聽或受到中間人攻擊,希望確保請求只通過 HTTPS 到達。在授權(quán)方面主要有三個領域,授權(quán) web 請求,授權(quán)被調(diào)用方法,授權(quán)訪問單個對象的實例。起因是 Spring 開發(fā)者郵件列表中的一個問題,有人提問是否考慮提供一個基于 spring 的安全實現(xiàn)。幾周之后, spring 社區(qū)的其他成員詢問安全問題,代碼就被提供給了他們。認證過程都是依賴容器管理安全的,而 acegi 則注重授權(quán)。 經(jīng)過了兩年半在許多生產(chǎn)軟件項目中的活躍使用和數(shù)以萬計的改善和社區(qū)的貢獻, 最終版本發(fā)布于 2021 年 5月。有一個積極的核心開發(fā)團隊專職開發(fā),一個積極的社區(qū)定期共享補丁并支持他們的同伴?;舅悸肥侵饕姹臼遣患嫒莸模笠?guī)模升級 API。 可選的,你可以通過源代碼創(chuàng)建項目 , 參考項目網(wǎng)站獲得更多細節(jié)??蛇x的,一個好辦法是參考實例應用中包含的依賴庫。包含頂級包: ? ? ? ? ? . Web 包含過濾器和對應的 web 安全架構(gòu)代碼。 . Config 包含安全命名控制解析代碼(因此我們不能直接把它用在你的應用中)。 頂級包是 。 . CAS Spring Security 的 CAs 客戶端集成。用來認證用戶,通過一個外部的 OpenID 服務。 這樣你可以獲得所有的示例,你可以很容易的建立目前最新的項目。 要像獲得項目最新的源代碼,使用如下 subversion 命令 : svn checkout runk/ 你可以獲得特定版本的源代碼 ags/. Chapter 2. Security 命名空間配置 . 介紹 從 Spring 開始可以使用命名空間的配置方式。 簡單元素可能隱藏事實,多種 bean 和處理步驟添加到應用環(huán)境中。 要開始在你的應用環(huán)境里使用 security 命名空間,你所需要的就是把架構(gòu)聲明添加到你的應用環(huán)境文件里: beans xmlns= xmlns:security= xmlns:xsi= xsi:schemaLocation= ... /beans 在許多例子里,你會看到(在示例中)應用,我們通常使 用 security作為默認的命名空間,而不是 beans,這意味著我們可以省略所有 security 命名空間元素的前綴,使上下文更容易閱讀。這種設計是基于框架內(nèi)的大型依賴,可以分割成下面這些部分: ? Web/HTTP安全 最復雜的部分。 ? AccessDecisionManager 提供訪問的決定,適用于 web 以及方法的安全。 ? UserDetailsService 密切相關的認證供應器,但往往也需要由其他 bean 需要。 然后我們看一下如何修改 ,使用數(shù)據(jù)庫或其他安全信息參數(shù)。這種情況下, bean 的名字是 springSecurityFilterChain,這是由命名空間創(chuàng)建的用于處理 web 安全的一個內(nèi)部的機制。 intercepturl pattern=/** access=ROLE_USER / / 這表示,我們要保護應用程序中的所有 URL,只有擁有 ROLE_USER 角色的用戶才能訪問。使用默認的配置, 這個一般是一個逗號分隔的角色隊列,一個用戶中的一個必須被允許訪問請求。 Note 你可以使用多個 intercepturl元素為不同 URL 的集合定義不同的訪問需求, 它們會被歸入一個有序隊列中,每 次取出最先匹配的一個元素使用。 要是想添加一些用戶,你可以直接使用下面的命名空間直接定義一些測試數(shù)據(jù): authenticationmanager authenticationprovider userservice user name=jimi password=jimi authorities= ROLE_ADMIN / user name=bob password=bob authorities=ROLE_USER / /userservice /authenticationprovider /authenticationmanager 上面的配置定義了兩個用戶,他們在應用程序中的密碼和角色(用在權(quán)限控制上)。 上述配置實際上把很多服務添加到了程序里,因為我們使用了 autoconfig 屬性 , 比如,表單登錄和 rememberme服務自動啟動了。所有 authenticationprovider 元素必須作為 authenticationmanager的子元素,它創(chuàng)建了一個 ProviderManager,并把authentication provider 注冊到它里面。他們擁有各自的屬性,來改變他們的具體 行為。比如,如果你想實現(xiàn)自己的登錄頁面,你可以使用: autoconfig=39。/ / 注意,你依舊可以使用 autoconfig。這是一個很常見的配置錯誤,它會導致系統(tǒng)出現(xiàn)無限循環(huán)。 intercepturl pattern=/css/** filters=none/ intercepturl pattern=/* filters=none/ intercepturl pattern=/** access=ROLE_USER / formlogin loginpage=39。IS_AUTHENTICATED_ANONYMOUSLY39。 intercepturl pattern=/** access=ROLE_USER / basic / / 基本身份認證會被優(yōu)先用到,在用戶嘗試訪問一個受保護的資源時,用來提示用戶登錄。如果你的系統(tǒng)一直需要用戶從首頁進入,就可以使用它了,比如: intercepturl pattern=39。/ intercepturl pattern=39。 / formlogin loginpage=39。 alwaysusedefaulttarget=39。 LDAP 命名空間會在 LDAP章 里詳細討論,所以我們這里不會講它。/ /authenticationmanager 如果你想用數(shù)據(jù)庫,可以使用下面的方式 authenticationmanager authenticationprovider jdbcuserservice datasourceref=securityDataSource/ /authenticationprovider /authenticationmanager 這里的 “ securityDataSource” 就是 DataSource bean 在 application context 里的名字,它指向了包含著 Spring Security 用戶信息的表 。myAuthenticationProvider39。理想情況下,你可能想為每個用戶隨機生成一個鹽值,不過,你可以使用從UserDetailsService 讀取出來的 UserDetails 對象中的屬性。 . 添加 HTTP/HTTPS 信道安全 如果你的同時支持 HTTP 和 HTTPS 協(xié)議,然后你要求特定的 URL 只能使用 HTTPS,這時可以直接使用 intercepturl的 requireschannel 屬性: intercepturl pattern=/secure/** access=ROLE_USER requireschannel=/ intercepturl pattern=/** access=ROLE_USER requireschannel=any/ ... / 使用了這個配置以后,如果用戶通過 HTTP 嘗試訪問 /secure/**匹配的網(wǎng)址,他們會先被重定向到 HTTPS 網(wǎng)址下。這可以通過 sessionmanagement 元素配置 。如果第二次驗證使用了其他非內(nèi)置的機制,比如 “ rememberme” ,一個 “ 未認證 ”(402) 錯誤就會發(fā)送給客戶端。 . 防止 Session固定攻擊 Session 固定 攻擊是一個潛在危險,當一個惡意攻擊者可以 創(chuàng)建一個 session 訪問一個網(wǎng)站的時候,然后說服另一個用戶登錄到同一個會話上(比如,發(fā)送給他們一個包含了 session標識參數(shù)的鏈接)。 ? none 什么也不做,繼續(xù)使用原來的 session。查看上一節(jié) 認證提供器 獲得更多信息。作為一個例子,下面的配置會嘗試從 OpenID 提供器中獲得 和全名,這些會被應用程序使用到: openidlogin attributeexchange openidattribute name= type= required=true/ openidattribute name=name type= / /attributeexchange /openidlogin 每個 OpenID 的 “ type” 屬性是一個 URI,這是由特定的 schema 決定的,在這個例子中是 required。 OpenIDAttribute 包含的屬性類型和獲取的值(或者在多屬性情況下是多個值)?;蛘吣阆胍褂靡粋€特定版本的標準命名空間過濾器,比如 formlogin創(chuàng)建的UsernamePasswordAuthenticationFilter,從而獲得一些額外的配置選項的優(yōu)勢,這些可以
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1