Spring Boot的安全配置(二)
(資料圖片僅供參考)
配置OAuth 2.0身份驗(yàn)證
OAuth 2.0是一種授權(quán)協(xié)議,允許用戶授權(quán)第三方應(yīng)用程序訪問(wèn)他們的資源。在Spring Boot中,可以使用spring-security-oauth2-autoconfigure
庫(kù)來(lái)實(shí)現(xiàn)OAuth 2.0身份驗(yàn)證。該庫(kù)提供了一些可用的OAuth 2.0身份驗(yàn)證客戶端,包括Facebook、GitHub、Google和Twitter等。
以下是使用Java配置實(shí)現(xiàn)GitHub OAuth2.0身份驗(yàn)證的示例:
@Configuration@EnableOAuth2Ssopublic class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.antMatcher("/**") .authorizeRequests() .antMatchers("/", "/login**") .permitAll() .anyRequest() .authenticated() .and() .logout() .logoutSuccessUrl("/") .permitAll() .and() .csrf().disable() .addFilterBefore(ssoFilter(), BasicAuthenticationFilter.class); } @Bean public FilterRegistrationBean oauth2ClientFilterRegistration(OAuth2ClientContextFilter filter) { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setFilter(filter); registration.setOrder(-100); return registration; } @Bean public Filter ssoFilter() { OAuth2ClientAuthenticationProcessingFilter githubFilter = new OAuth2ClientAuthenticationProcessingFilter("/login/github"); OAuth2RestTemplate githubTemplate = new OAuth2RestTemplate(github(), oauth2ClientContext); githubFilter.setRestTemplate(githubTemplate); UserInfoTokenServices tokenServices = new UserInfoTokenServices(githubResource().getUserInfoUri(), github().getClientId()); tokenServices.setRestTemplate(githubTemplate); githubFilter.setTokenServices(tokenServices); return githubFilter; } @Bean public OAuth2ProtectedResourceDetails github() { ClientCredentialsResourceDetails details = new ClientCredentialsResourceDetails(); details.setClientId(""); details.setClientSecret(""); details.setAccessTokenUri(""); details.setScope(Arrays.asList("", "")); return details; } @Bean public ResourceServerProperties githubResource() { ResourceServerProperties resource = new ResourceServerProperties(); resource.setUserInfoUri(""); return resource; } @Autowired private OAuth2ClientContext oauth2ClientContext;}
在上面的示例中,SecurityConfig
類(lèi)使用@EnableOAuth2Sso
注解啟用OAuth 2.0單點(diǎn)登錄。configure()
方法使用HttpSecurity
對(duì)象來(lái)配置HTTP請(qǐng)求的安全性。.antMatcher("/**")
表示攔截所有請(qǐng)求。.authorizeRequests()
表示進(jìn)行授權(quán)請(qǐng)求。.antMatchers("/", "/login**").permitAll()
表示允許訪問(wèn)主頁(yè)和登錄頁(yè)面,而不需要進(jìn)行身份驗(yàn)證。.anyRequest().authenticated()
表示所有其他請(qǐng)求都需要進(jìn)行身份驗(yàn)證。.logout()
方法指定了注銷(xiāo)的URL和成功注銷(xiāo)后的跳轉(zhuǎn)頁(yè)面。.csrf().disable()
表示禁用跨站請(qǐng)求偽造保護(hù)。.addFilterBefore(ssoFilter(), BasicAuthenticationFilter.class)
表示在BasicAuthenticationFilter
之前添加OAuth2ClientAuthenticationProcessingFilter
過(guò)濾器。
oauth2ClientFilterRegistration()
方法使用FilterRegistrationBean
注冊(cè)OAuth2ClientContextFilter
過(guò)濾器。
ssoFilter()
方法創(chuàng)建OAuth2ClientAuthenticationProcessingFilter
過(guò)濾器,它將處理"/login/github"路徑的請(qǐng)求。OAuth2RestTemplate
對(duì)象提供了GitHub OAuth 2.0客戶端的訪問(wèn)令牌。UserInfoTokenServices
對(duì)象使用OAuth2RestTemplate
對(duì)象來(lái)訪問(wèn)GitHub資源服務(wù)器,并驗(yàn)證訪問(wèn)令牌。github()
方法創(chuàng)建ClientCredentialsResourceDetails
對(duì)象,它包含GitHub OAuth 2.0客戶端的詳細(xì)信息,例如客戶端ID和客戶端秘鑰。ResourceServerProperties
對(duì)象指定了GitHub資源服務(wù)器的用戶信息URI。
3.0授權(quán)的示例:
@Configuration@EnableWebSecuritypublic class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/admin/**").hasRole("ADMIN") .antMatchers("/user/**").hasAnyRole("ADMIN", "USER") .antMatchers("/**").permitAll() .and() .formLogin(); } @Autowired public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication() .withUser("user") .password("{noop}password") .roles("USER") .and() .withUser("admin") .password("{noop}password") .roles("ADMIN"); }}
在上面的示例中,SecurityConfig
類(lèi)使用@EnableWebSecurity
注解啟用Spring Security。configure()
方法使用HttpSecurity
對(duì)象來(lái)配置HTTP請(qǐng)求的安全性。.authorizeRequests()
表示進(jìn)行授權(quán)請(qǐng)求。.antMatchers("/admin/**").hasRole("ADMIN")
表示要求管理員角色才能訪問(wèn)/admin
路徑。.antMatchers("/user/**").hasAnyRole("ADMIN", "USER")
表示要求管理員或用戶角色才能訪問(wèn)/user
路徑。.antMatchers("/**").permitAll()
表示允許訪問(wèn)所有其他路徑。.formLogin()
表示啟用表單登錄。
configureGlobal()
方法使用AuthenticationManagerBuilder
對(duì)象來(lái)配置身份驗(yàn)證。inMemoryAuthentication()
方法指定了在內(nèi)存中存儲(chǔ)用戶憑據(jù)。.withUser("user").password("{noop}password").roles("USER")
指定了用戶名、密碼和角色,其中{noop}
前綴表示密碼以明文形式存儲(chǔ)在內(nèi)存中。.withUser("admin").password("{noop}password").roles("ADMIN")
指定了管理員用戶的用戶名、密碼和角色。
以上是Spring Boot中基于OAuth 2.0和基于授權(quán)的安全配置示例。在實(shí)際開(kāi)發(fā)中,您可以根據(jù)需要進(jìn)行更改和擴(kuò)展。
圖片
-
Spring Boot的安全配置(二)
無(wú)痛人流的最佳時(shí)間是什么時(shí)
快看:蓮子的功效與作用及食
-
焦點(diǎn)快播:湯姆貓接待國(guó)海證
焦點(diǎn)信息:雙色球第038期曬票
鋼材:需求博弈成本,產(chǎn)業(yè)鏈
方直科技:接受首創(chuàng)證券等機(jī)
清明節(jié)出游再超預(yù)期,旅游及
每店補(bǔ)貼50萬(wàn)元,杭州搞通宵
-
2023年上海市水上搜救工作會(huì)
極氪員工意外泄露內(nèi)部文件:
[新股]青矩技術(shù)網(wǎng)上獲配比例
精選!濃眉:我們的計(jì)劃就是
【天天新要聞】女子"花式操
【世界報(bào)資訊】蔣福財(cái):4.6
-
漢儀股份:4月4日融資買(mǎi)入22
劃時(shí)代產(chǎn)品!特斯拉新款小型
環(huán)球滾動(dòng):長(zhǎng)沙經(jīng)開(kāi)區(qū)挺膺擔(dān)
安徽加速融入全球最大自貿(mào)“
天天觀察:罵人不帶臟話的能
【環(huán)球報(bào)資訊】【夜讀】利雅
精彩推送
- Spring Boot的安全配置(二)
- 什么是新技術(shù)革命?新技術(shù)革命名詞解釋 新技術(shù)革命下的全媒體運(yùn)營(yíng)是什么書(shū)
- 新技術(shù)革命會(huì)帶來(lái)哪些創(chuàng)新機(jī)會(huì)?新技術(shù)革命的沖擊怎么影響德國(guó)魯爾區(qū)的?
- 視焦點(diǎn)訊!通威股份:控股股東通威集團(tuán)累計(jì)質(zhì)押4.94億股股份
- 華平智控業(yè)績(jī)升員工略減 2021現(xiàn)金流負(fù)毛利率升同行降
- 聚成科技仰仗TCL中環(huán) 一筆分紅2.3億募資欲增3倍產(chǎn)能-世界視訊
- 無(wú)痛人流的最佳時(shí)間是什么時(shí)候_無(wú)痛人流的最佳時(shí)間
- 快看:蓮子的功效與作用及食用方法(蓮子的功效與作用及食用方法禁忌)
- 焦點(diǎn)快播:湯姆貓接待國(guó)海證券等多家機(jī)構(gòu)調(diào)研
- 焦點(diǎn)信息:雙色球第038期曬票:有些人沉迷彩票,把中獎(jiǎng)作為逆襲人生的手段
- 中國(guó)石化:凌逸群因年齡原因辭去高級(jí)副總裁等職務(wù):世界關(guān)注
- 觀點(diǎn):健合集團(tuán)2022經(jīng)調(diào)整可比純利降23% 此前高盛評(píng)級(jí)中性
- 廣西北流柳銀村鎮(zhèn)銀行被罰 大股東為柳州銀行
- 矽電股份、裕鳶航空4月13日深交所首發(fā)上會(huì)
- 天天速讀:證監(jiān)會(huì)同意新萊福、經(jīng)緯股份、普萊得、同星科技創(chuàng)業(yè)板IPO注冊(cè)
- 鋼材:需求博弈成本,產(chǎn)業(yè)鏈利潤(rùn)重塑
- 藍(lán)光發(fā)展:公司股價(jià)首次低于1元,公司股票可能被終止上市|今日熱門(mén)
- 方直科技:接受首創(chuàng)證券等機(jī)構(gòu)調(diào)研
- 環(huán)球百事通!新力控股將于4月13日從港股除牌
- 領(lǐng)跑全場(chǎng)景顯示,海信視像發(fā)布會(huì)定檔4月10日,邀請(qǐng)函引熱議
- 清明節(jié)出游再超預(yù)期,旅游及酒店板塊“見(jiàn)光死”
- 長(zhǎng)期主義的勝利:傳祺GS8穩(wěn)居自主混動(dòng)銷(xiāo)冠
- 迎駕貢酒跌4.41% 華鑫證券在其高位推薦:世界熱門(mén)
- 三人行跌停 招商證券在其高位強(qiáng)烈推薦
- 【世界時(shí)快訊】東鵬飲料跌4.98% 招商證券民生證券在其高位唱多
- 全志科技龍虎榜:三個(gè)交易日機(jī)構(gòu)凈買(mǎi)入1.76億元
- 全球球精選!首開(kāi)股份:前3月簽約金額177.47億元
- 滬電股份漲停 機(jī)構(gòu)凈賣(mài)出1.18億元
- 天天速訊:安徽來(lái)安:山水相依好顏色 綠色發(fā)展再出發(fā)
- 謹(jǐn)防陷阱!銀保監(jiān)會(huì)科普什么是正規(guī)的“以房養(yǎng)老”
- 中國(guó)海外宏洋:前3月合約銷(xiāo)售額人民幣135.03億元_即時(shí)
- 每店補(bǔ)貼50萬(wàn)元,杭州搞通宵夜經(jīng)濟(jì),是機(jī)遇還是雞肋?:速看料
- 今日熱聞!貴金屬板塊漲3.1% 山東黃金漲9.18%居首
- 上海市發(fā)布2023年國(guó)有建設(shè)用地供應(yīng)計(jì)劃|天天百事通
- 旭輝控股集團(tuán):前3月合同銷(xiāo)售額約人民幣211.3億元 快消息
- 太極實(shí)業(yè)3漲停|天天播資訊
- 食品加工制造板塊跌1.04% 一鳴食品漲3.4%居首|天天簡(jiǎn)訊
- 聯(lián)合水務(wù)8漲停
- 熱門(mén):泰達(dá)宏利劉洋:消費(fèi)板塊具備性價(jià)比 長(zhǎng)期看好必選消費(fèi)
- 北京今年發(fā)放住房公積金個(gè)人貸款705億元_熱議
- 央行調(diào)查報(bào)告:一季度我國(guó)貸款總體需求指數(shù)環(huán)比有所提升
- 環(huán)球觀天下!保護(hù)候鳥(niǎo)遷徙通道 推進(jìn)生態(tài)文明建設(shè)
- 2023年上海市水上搜救工作會(huì)議召開(kāi) 去年海上搜救成功率達(dá)97.25%|當(dāng)前快訊
- 熱資訊!鋰電池板塊漲0.11% 華中數(shù)控漲17.05%居首
- 陰霾漸散、晨光熹微,房地產(chǎn)市場(chǎng)開(kāi)年迎來(lái)緩步回升
- 碳中和板塊跌0.5% 深桑達(dá)A漲10%居首
- 今日關(guān)注:雄安 未來(lái)之城氣象新
- 世界快訊:房地產(chǎn)開(kāi)發(fā)板塊跌0.88% 海南高速漲8.11%居首
- 白酒概念板塊跌1.71% 廣譽(yù)遠(yuǎn)漲1.2%居首
- 太和水?dāng)M向?qū)嵖厝硕ㄔ瞿疾怀?.2億 2022年預(yù)虧1.35億
- 每日速看!那些困在房市“圍城”的年輕人
- 精彩看點(diǎn):大力優(yōu)化營(yíng)商環(huán)境 加快高質(zhì)量發(fā)展|河北省自然資源廳幫助43個(gè)重點(diǎn)項(xiàng)目加快用地用海組卷報(bào)批
- 極氪員工意外泄露內(nèi)部文件:與車(chē)質(zhì)網(wǎng)投訴車(chē)主溝通刪帖內(nèi)幕曝光
- 中銀通支付卡可以綁定微信嗎?中銀通支付卡怎么轉(zhuǎn)到支付寶?
- 中銀通支付卡有效期多長(zhǎng)?中銀通支付卡哪里可以購(gòu)買(mǎi)?
- [新股]青矩技術(shù)網(wǎng)上獲配比例為18.48% 東方雨虹等3家戰(zhàn)投共計(jì)配售募資6381.70萬(wàn)元_精選
- 老百姓財(cái)務(wù)總監(jiān)文杰鋒辭職 上任財(cái)務(wù)負(fù)責(zé)人不滿一年
- Redmi Note 12 Turbo實(shí)測(cè) 這款新神U功德無(wú)量
- 精選!濃眉:我們的計(jì)劃就是放威少投 他投了而且進(jìn)了 向他致敬!
- 審批制項(xiàng)目指的是什么意思?審批制上市條件是什么?
- 企業(yè)上市審批制的優(yōu)缺點(diǎn)有哪些?為什么出版單位實(shí)行審批制?
- 【天天新要聞】女子"花式操作"領(lǐng)走福彩615萬(wàn):真切體會(huì)到公正-圖
- 午評(píng):兩市弱勢(shì)滬指跌0.04% 半導(dǎo)體板塊逆市走強(qiáng)_當(dāng)前熱聞
- 英力股份2022年虧損 前年上市募4億去年發(fā)3.4億可轉(zhuǎn)債-環(huán)球熱訊
- 【世界報(bào)資訊】蔣福財(cái):4.6黃金漲勢(shì)有所停滯短線存在回調(diào)、日內(nèi)金價(jià)行情分析
- 人民幣對(duì)美元匯率中間價(jià)下調(diào)48個(gè)基點(diǎn)_每日訊息
- 世界新資訊:軍陶科技終止創(chuàng)業(yè)板IPO
- 首創(chuàng)證券收警示函 承銷(xiāo)東方園林債券2項(xiàng)核查不充分:快播
- 漢儀股份:4月4日融資買(mǎi)入2243.26萬(wàn)元,融資融券余額9277.48萬(wàn)元
- 動(dòng)態(tài):銀保監(jiān)會(huì)發(fā)布風(fēng)險(xiǎn)提示:謹(jǐn)防三類(lèi)養(yǎng)老詐騙陷阱
- 地量出現(xiàn)后多久拉升?地量十字星意味著什么?地量十字星是指什么?
- 地量是什么意思?地量見(jiàn)地價(jià)什么意思?地量名詞解釋
- 變動(dòng)費(fèi)用怎么算預(yù)算?變動(dòng)費(fèi)用計(jì)算公式一覽 變動(dòng)費(fèi)用分配率怎么算
- 變動(dòng)費(fèi)用包含哪些科目?變動(dòng)費(fèi)用和固定費(fèi)用的區(qū)別是什么?
- 劃時(shí)代產(chǎn)品!特斯拉新款小型電動(dòng)汽車(chē)公布 目標(biāo)銷(xiāo)量4200萬(wàn)輛 當(dāng)前觀點(diǎn)
- LV總裁成為新全球首富身價(jià)多少?世界首富lv總裁阿爾諾簡(jiǎn)介
- 實(shí)施托賓稅的國(guó)家有哪些?托賓稅是什么意思?托賓稅名詞解釋
- 天交所現(xiàn)貨白銀開(kāi)戶怎么操作?天交所國(guó)有化什么意思?
- 天交所和金交所區(qū)別是什么?天交所掛牌是什么意思?
- 金地商置:前3月合約銷(xiāo)售總額約98.76億元-環(huán)球時(shí)快訊
- 亞馬遜倉(cāng)儲(chǔ)費(fèi)怎么算的?亞馬遜長(zhǎng)期倉(cāng)儲(chǔ)費(fèi)和月度倉(cāng)儲(chǔ)費(fèi)標(biāo)準(zhǔn)一覽
- 倉(cāng)儲(chǔ)費(fèi)一般怎么收費(fèi)?倉(cāng)儲(chǔ)費(fèi)一般多少錢(qián)一天?倉(cāng)儲(chǔ)費(fèi)收費(fèi)標(biāo)準(zhǔn)價(jià)格表
- 倉(cāng)儲(chǔ)費(fèi)用計(jì)入什么科目?倉(cāng)儲(chǔ)費(fèi)的會(huì)計(jì)處理是什么?倉(cāng)儲(chǔ)費(fèi)稅率是6%還是9%?
- 安全管理pdca是什么意思?安全標(biāo)準(zhǔn)化PDCA是什么?pdca循環(huán)是什么意思?
- 質(zhì)量管理中的pdca是什么意思?pdca的起源是什么?
- 美股納指跌1.07% 強(qiáng)生漲4.5%特斯拉跌3.7%
- 網(wǎng)傳鏈家在北、上之外城市轉(zhuǎn)為加盟模式 貝殼:消息不實(shí)
- 品種法適用于什么樣的企業(yè)?品種法計(jì)算公式是什么?
- 今日申購(gòu):光大同創(chuàng)、森泰股份、恒尚節(jié)能、索辰科技、迪爾化工
- 今日上市:花溪科技 環(huán)球觀察
- 開(kāi)啟智慧未來(lái)丨2023首宏智慧醫(yī)械新品發(fā)布會(huì)即將開(kāi)啟
- 品種法、分批法和分步法的主要區(qū)別在哪?什么是品種法?
- 男子用手電筒嚇?biāo)?100只雞獲刑是怎么回事?雞怕什么氣味和東西?
- 白糖價(jià)格創(chuàng)五年新高是怎么回事?白糖今天現(xiàn)貨價(jià)格多少錢(qián)一噸?
- 陽(yáng)線上影線長(zhǎng)下影線短是什么意思?陽(yáng)線右肩十字長(zhǎng)放量好還是縮量好?
- 陽(yáng)線和陰線什么意思?陽(yáng)線實(shí)體越長(zhǎng)表示越有利于哪方?
- 環(huán)球滾動(dòng):長(zhǎng)沙經(jīng)開(kāi)區(qū)挺膺擔(dān)當(dāng)拼經(jīng)濟(jì)
- 已賺保費(fèi)和綜合費(fèi)用率的關(guān)系是什么?已賺保費(fèi)計(jì)算公式是什么 ?
- 焦點(diǎn)要聞:多地真金白銀支持新能源汽車(chē)消費(fèi)
- 電池級(jí)碳酸鋰價(jià)格持續(xù)下跌 多家新能源車(chē)企主動(dòng)降價(jià)
金融
財(cái)經(jīng)
要聞
- Spring Boot的安全配置(二)
- 無(wú)痛人流的最佳時(shí)間是什么時(shí)候_無(wú)痛人
- 快看:蓮子的功效與作用及食用方法(蓮
- 焦點(diǎn)快播:湯姆貓接待國(guó)海證券等多家機(jī)
- 焦點(diǎn)信息:雙色球第038期曬票:有些人沉
- 鋼材:需求博弈成本,產(chǎn)業(yè)鏈利潤(rùn)重塑
- 方直科技:接受首創(chuàng)證券等機(jī)構(gòu)調(diào)研
- 清明節(jié)出游再超預(yù)期,旅游及酒店板塊“
- 每店補(bǔ)貼50萬(wàn)元,杭州搞通宵夜經(jīng)濟(jì),是
- 2023年上海市水上搜救工作會(huì)議召開(kāi) 去
公司
吉卜力工作室如今已加入到主題公園的浪潮,并于11月1日正式對(duì)公眾開(kāi)放全球首個(gè)項(xiàng)目,將《龍貓》等經(jīng)典作品的場(chǎng)景復(fù)原至現(xiàn)實(shí)世界。對(duì)于吉卜
詳細(xì)>>隨著在線旅游企業(yè)數(shù)量的不斷增多,售賣(mài)不合理低價(jià)旅游產(chǎn)品、違規(guī)利用用戶個(gè)人信息等問(wèn)題也時(shí)有發(fā)生。11月1日,文旅部發(fā)布《文化和旅游部關(guān)
詳細(xì)>>兩個(gè)小時(shí),這是越南全國(guó)首票榴蓮從裝車(chē)到運(yùn)送至我國(guó)廣西崇左友誼關(guān)口岸的時(shí)間。得益于一體化供應(yīng)鏈,2021年,中國(guó)與越南進(jìn)出口貿(mào)易額達(dá)到23
詳細(xì)>>11月1日,北京商報(bào)記者梳理發(fā)現(xiàn),截至9月末,10家A股上市農(nóng)商行資產(chǎn)規(guī)模均有所擴(kuò)大,重慶農(nóng)商行、上海農(nóng)商行仍以萬(wàn)億元總資產(chǎn)位居前列。營(yíng)
詳細(xì)>>西貝餐飲集團(tuán)(以下簡(jiǎn)稱西貝)在兒童餐的道路上越走越深。11月1日,北京商報(bào)記者從西貝獲悉,其將推出西貝兒童餐零售產(chǎn)品。目前,部分西貝門(mén)
詳細(xì)>>新一期麻辣粉和逆回購(gòu)操作如期公布。9月15日,央行發(fā)布消息稱,為維護(hù)銀行體系流動(dòng)性合理充裕,開(kāi)展4000億元中期借貸便利(MLF)操作和20億元
詳細(xì)>>