簡介
若是在classpath上設置了spring 安全,默認的話其web 也是安全的。springboot依賴於spring 的安全聲明策略決定是使用httpBasic
或者 formLogin
,添加web應用的安全等級方法,能夠使用@EnableGlobalMethodSecurity
添加你想要的配置。html
默認的認證管理是擁有一個單獨的用戶。以下所示:web
Using generated security password: 78fa095d-3f4c-48b1-ad50-e24c31d5cf35
能夠經過提供spring.security.user.name
與spring.security.user.password
改變其用戶和密碼。spring
默認的安全配置是經過SecurityAutoConfiguration
實現(同時也包括非web應用程序)。關閉默認的安全配置,能夠經過添加一個WebSecurityConfigurerAdapter
類型的bean實現。安全
關閉認證管理配置,能夠經過添加 UserDetailsService
, AuthenticationProvider
與 AuthenticationManager
的類型。springboot
在一個web應用程序中,你默認獲得的一個基礎特性是:框架
- 一個
UserDetailsService
bean(在內存中存儲以及一個產生密碼的word) - 基於表格的登陸或者是基於整個http的安全認證要求(包括執行者的點)。
能夠經過添加一個自定義的WebSecurityConfigurerAdapter去覆蓋其規則。spring boot對actuator endpoints於靜態資源提供了便利的方法去處理。EndpointRequest
可以建立一個基於management.endpoints.web.base-path
的屬性。StaticResourceRequest
可以給建立一個指定靜態資源位置的 RequestMatcher
。ide
我有幾張阿里雲幸運券分享給你,用券購買或者升級阿里雲相應產品會有特惠驚喜哦!把想要買的產品的幸運券都領走吧!快下手,立刻就要搶光了。阿里雲
OAuth2
其是一種被spring普遍支持的受權框架。url
客戶端
若是你有spring-security-oauth2-client
,你就能夠充分利用其自動配置簡化安裝oauth2的客戶端。這充分利用其 OAuth2ClientProperties
的配置屬性,你能夠經過使用 spring.security.oauth2.client
前綴註冊客戶端:代碼以下spa
spring.security.oauth2.client.registration.my-client-1.client-id=abcd spring.security.oauth2.client.registration.my-client-1.client-secret=password spring.security.oauth2.client.registration.my-client-1.client-name=Client for user scope spring.security.oauth2.client.registration.my-client-1.provider=my-oauth-provider spring.security.oauth2.client.registration.my-client-1.scope=user spring.security.oauth2.client.registration.my-client-1.redirect-uri-template=http://my-redirect-uri.com spring.security.oauth2.client.registration.my-client-1.client-authentication-method=basic spring.security.oauth2.client.registration.my-client-1.authorization-grant-type=authorization_code spring.security.oauth2.client.registration.my-client-2.client-id=abcd spring.security.oauth2.client.registration.my-client-2.client-secret=password spring.security.oauth2.client.registration.my-client-2.client-name=Client for email scope spring.security.oauth2.client.registration.my-client-2.provider=my-oauth-provider spring.security.oauth2.client.registration.my-client-2.scope=email spring.security.oauth2.client.registration.my-client-2.redirect-uri-template=http://my-redirect-uri.com spring.security.oauth2.client.registration.my-client-2.client-authentication-method=basic spring.security.oauth2.client.registration.my-client-2.authorization-grant-type=authorization_code spring.security.oauth2.client.provider.my-oauth-provider.authorization-uri=http://my-auth-server/oauth/authorize spring.security.oauth2.client.provider.my-oauth-provider.token-uri=http://my-auth-server/oauth/token spring.security.oauth2.client.provider.my-oauth-provider.user-info-uri=http://my-auth-server/userinfo spring.security.oauth2.client.provider.my-oauth-provider.jwk-set-uri=http://my-auth-server/token_keys spring.security.oauth2.client.provider.my-oauth-provider.user-name-attribute=name
默認狀況下,spring security 的OAuth2LoginAuthenticationFilter
是僅僅處理與 /login/oauth2/code/*
.匹配的URI。若是想要自定義話一個不一樣的redirect-uri-template
,須要提供自定義模式的處理配置,以下代碼