クラス OpenIDLoginConfigurer<H extends HttpSecurityBuilder<H>>
- java.lang.Object
-
- org.springframework.security.config.annotation.SecurityConfigurerAdapter<DefaultSecurityFilterChain,B>
-
- org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer<T,B>
-
- org.springframework.security.config.annotation.web.configurers.AbstractAuthenticationFilterConfigurer<H,OpenIDLoginConfigurer<H>,OpenIDAuthenticationFilter>
-
- org.springframework.security.config.annotation.web.configurers.openid.OpenIDLoginConfigurer<H>
- 実装されたすべてのインターフェース:
SecurityConfigurer<DefaultSecurityFilterChain,H>
@Deprecated public final class OpenIDLoginConfigurer<H extends HttpSecurityBuilder<H>> extends AbstractAuthenticationFilterConfigurer<H,OpenIDLoginConfigurer<H>,OpenIDAuthenticationFilter>
使用すべきではありません。OpenID 1.0 および 2.0 プロトコルは非推奨になり、ユーザーはspring-security-oauth2
でサポートされる OpenID Connect に移行することをお勧めします。OpenID ベースの認証のサポートを追加します。構成例
@Configuration @EnableWebSecurity public class OpenIDLoginConfig { @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/**").hasRole("USER") .and() .openidLogin() .permitAll(); return http.build(); } @Bean public UserDetailsService userDetailsService() { UserDetails user = User.withDefaultPasswordEncoder() .username("https://www.google.com/accounts/o8/id?id=lmkCn9xzPdsxVwG7pjYMuDgNNdASFmobNkcRPaWU") .password("password") .roles("USER") .build(); return new InMemoryUserDetailsManager(user); } }
セキュリティフィルター
次のフィルターが読み込まれます作成された共有オブジェクト
AuthenticationEntryPoint
にはLoginUrlAuthenticationEntryPoint
が実装されていますOpenIDAuthenticationProvider
はHttpSecurity.authenticationProvider(org.springframework.security.authentication.AuthenticationProvider)
に取り込まれます
使用される共有オブジェクト
次の共有オブジェクトが使用されます。AuthenticationManager
RememberMeServices
- オプションで使用されます。RememberMeConfigurer
を参照SessionAuthenticationStrategy
- オプションで使用されます。SessionManagementConfigurer
を参照
- 導入:
- 3.2
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 クラス 説明 class
OpenIDLoginConfigurer.AttributeExchangeConfigurer
使用すべきではありません。検索する OpenID 属性を追加するために使用されるクラス
コンストラクターのサマリー
コンストラクター コンストラクター 説明 OpenIDLoginConfigurer()
使用すべきではありません。新しいインスタンスを作成します
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 非推奨のメソッド 修飾子と型 メソッド 説明 OpenIDLoginConfigurer.AttributeExchangeConfigurer
attributeExchange(java.lang.String identifierPattern)
使用すべきではありません。指定されたパターンに一致する OpenID の OpenID 属性交換をセットアップします。OpenIDLoginConfigurer<H>
attributeExchange(Customizer<OpenIDLoginConfigurer.AttributeExchangeConfigurer> attributeExchangeCustomizer)
使用すべきではありません。指定されたパターンに一致する OpenID の OpenID 属性交換をセットアップします。OpenIDLoginConfigurer<H>
authenticationUserDetailsService(AuthenticationUserDetailsService<OpenIDAuthenticationToken> authenticationUserDetailsService)
使用すべきではありません。void
configure(H http)
使用すべきではありません。SecurityBuilder
に必要なプロパティを設定して、SecurityBuilder
を構成します。OpenIDLoginConfigurer<H>
consumer(OpenIDConsumer consumer)
使用すべきではありません。使用するOpenIDConsumer
を指定できます。OpenIDLoginConfigurer<H>
consumerManager(org.openid4java.consumer.ConsumerManager consumerManager)
使用すべきではありません。使用するConsumerManager
を指定できます。protected RequestMatcher
createLoginProcessingUrlMatcher(java.lang.String loginProcessingUrl)
使用すべきではありません。loginProcessingUrl を与えられたRequestMatcher
を作成するvoid
init(H http)
使用すべきではありません。SecurityBuilder
を初期化します。OpenIDLoginConfigurer<H>
loginPage(java.lang.String loginPage)
使用すべきではありません。ログインが必要な場合にユーザーを送信する URL を指定します。OpenIDLoginConfigurer<H>
loginProcessingUrl(java.lang.String loginProcessingUrl)
使用すべきではありません。OpenID リクエストの認証に使用される URL を指定します。クラス org.springframework.security.config.annotation.web.configurers.AbstractAuthenticationFilterConfigurer から継承されたメソッド
authenticationDetailsSource, defaultSuccessUrl, defaultSuccessUrl, failureHandler, failureUrl, getAuthenticationEntryPoint, getAuthenticationEntryPointMatcher, getAuthenticationFilter, getFailureUrl, getLoginPage, getLoginProcessingUrl, isCustomLoginPage, permitAll, permitAll, registerAuthenticationEntryPoint, registerDefaultAuthenticationEntryPoint, securityContextRepository, setAuthenticationFilter, successHandler, updateAccessDefaults, updateAuthenticationDefaults
クラス org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer から継承されたメソッド
disable, withObjectPostProcessor
クラス org.springframework.security.config.annotation.SecurityConfigurerAdapter から継承されたメソッド
addObjectPostProcessor, and, getBuilder, postProcess, setBuilder
メソッドの詳細
attributeExchange
public OpenIDLoginConfigurer.AttributeExchangeConfigurer attributeExchange(java.lang.String identifierPattern)
使用すべきではありません。指定されたパターンに一致する OpenID の OpenID 属性交換をセットアップします。- パラメーター:
identifierPattern
- OpenID でのマッチングのための正規表現 (つまり、"https://www.google.com/.*"、".* yahoo.com.*" など)- 戻り値:
- 属性交換のさらなるカスタマイズのための
OpenIDLoginConfigurer.AttributeExchangeConfigurer
attributeExchange
public OpenIDLoginConfigurer<H> attributeExchange(Customizer<OpenIDLoginConfigurer.AttributeExchangeConfigurer> attributeExchangeCustomizer)
使用すべきではありません。指定されたパターンに一致する OpenID の OpenID 属性交換をセットアップします。デフォルトのパターンは ".*" です。OpenIDLoginConfigurer.AttributeExchangeConfigurer.identifierPattern(String)
を使用して指定できます- パラメーター:
attributeExchangeCustomizer
-Customizer
を使用して、OpenIDLoginConfigurer.AttributeExchangeConfigurer
により多くのオプションを提供します。- 戻り値:
- さらにカスタマイズするための
OpenIDLoginConfigurer
consumer
public OpenIDLoginConfigurer<H> consumer(OpenIDConsumer consumer)
使用すべきではありません。使用するOpenIDConsumer
を指定できます。デフォルトはOpenID4JavaConsumer
を使用しています。- パラメーター:
consumer
- 使用するOpenIDConsumer
- 戻り値:
- さらにカスタマイズするための
OpenIDLoginConfigurer
consumerManager
public OpenIDLoginConfigurer<H> consumerManager(org.openid4java.consumer.ConsumerManager consumerManager)
使用すべきではありません。使用するConsumerManager
を指定できます。指定されている場合、OpenID4JavaConsumer
に取り込まれます。これは、
consumer(OpenIDConsumer)
上の特定のConsumerManager
でOpenID4JavaConsumer
を指定するためのショートカットです。- パラメーター:
consumerManager
- 使用するConsumerManager
。null にはできません。- 戻り値:
- さらにカスタマイズするための
OpenIDLoginConfigurer
authenticationUserDetailsService
public OpenIDLoginConfigurer<H> authenticationUserDetailsService(AuthenticationUserDetailsService<OpenIDAuthenticationToken> authenticationUserDetailsService)
使用すべきではありません。使用するAuthenticationUserDetailsService
。デフォルトでは、UserDetailsByNameServiceWrapper
は、AbstractConfiguredSecurityBuilder.getSharedObject(Class)
で見つかったUserDetailsService
共有オブジェクトで使用されます。- パラメーター:
authenticationUserDetailsService
- 使用するAuthenticationDetailsSource
- 戻り値:
- さらにカスタマイズするための
OpenIDLoginConfigurer
loginProcessingUrl
public OpenIDLoginConfigurer<H> loginProcessingUrl(java.lang.String loginProcessingUrl)
使用すべきではありません。OpenID リクエストの認証に使用される URL を指定します。HttpServletRequest
がこの URL と一致する場合、OpenIDAuthenticationFilter
はリクエストの認証を試みます。デフォルトは "/login/openid" です。- オーバーライド:
- クラス
AbstractAuthenticationFilterConfigurer<H extends HttpSecurityBuilder<H>,OpenIDLoginConfigurer<H extends HttpSecurityBuilder<H>>,OpenIDAuthenticationFilter>
のloginProcessingUrl
- パラメーター:
loginProcessingUrl
- 認証の実行に使用される URL- 戻り値:
- 追加のカスタマイズのための
OpenIDLoginConfigurer
loginPage
public OpenIDLoginConfigurer<H> loginPage(java.lang.String loginPage)
使用すべきではありません。ログインが必要な場合にユーザーを送信する URL を指定します。
EnableWebSecurity
で使用すると、この属性が指定されていない場合にデフォルトのログインページが生成されます。URL が指定されている場合、またはこれが
EnableWebSecurity
と組み合わせて使用されていない場合、ユーザーは指定された URL を処理してログインページを生成する必要があります。- HTTP POST である必要があります
loginProcessingUrl(String)
に提出する必要がありますOpenIDAuthenticationFilter.DEFAULT_CLAIMED_IDENTITY_FIELD
という名前の HTTP パラメーターとして OpenID を含める必要があります
他のデフォルトへの影響
この値を更新すると、他の多くのデフォルト値にも影響します。例: formLogin() のみが指定された場合のデフォルト値は次のとおりです。- /login GET - the login form
- /login POST - process the credentials and if valid authenticate the user
- /login?error GET - redirect here for failed authentication attempts
- /login?logout GET - redirect here after successfully logging out
- /authenticate GET - the login form
- /authenticate POST - process the credentials and if valid authenticate the user
- /authenticate?error GET - redirect here for failed authentication attempts
- /authenticate?logout GET - redirect here after successfully logging out
- オーバーライド:
- クラス
AbstractAuthenticationFilterConfigurer<H extends HttpSecurityBuilder<H>,OpenIDLoginConfigurer<H extends HttpSecurityBuilder<H>>,OpenIDAuthenticationFilter>
のloginPage
- パラメーター:
loginPage
- 認証が必要な場合にリダイレクトするログインページ (つまり、"/login")- 戻り値:
- 追加のカスタマイズのための
FormLoginConfigurer
init
public void init(H http) throws java.lang.Exception
使用すべきではありません。インターフェースからコピーされた説明:SecurityConfigurer
SecurityBuilder
を初期化します。ここでは、共有状態のみを作成および変更する必要がありますが、オブジェクトの構築に使用されるSecurityBuilder
のプロパティは作成および変更しないでください。これにより、構築時にSecurityConfigurer.configure(SecurityBuilder)
メソッドが正しい共有オブジェクトを使用するようになります。ここで設定を適用する必要があります。- 次で指定:
- インターフェース
SecurityConfigurer<DefaultSecurityFilterChain,H extends HttpSecurityBuilder<H>>
のinit
- オーバーライド:
- クラス
AbstractAuthenticationFilterConfigurer<H extends HttpSecurityBuilder<H>,OpenIDLoginConfigurer<H extends HttpSecurityBuilder<H>>,OpenIDAuthenticationFilter>
のinit
- 例外:
java.lang.Exception
configure
public void configure(H http) throws java.lang.Exception
使用すべきではありません。インターフェースからコピーされた説明:SecurityConfigurer
SecurityBuilder
に必要なプロパティを設定して、SecurityBuilder
を構成します。- 次で指定:
- インターフェース
SecurityConfigurer<DefaultSecurityFilterChain,H extends HttpSecurityBuilder<H>>
のconfigure
- オーバーライド:
- クラス
AbstractAuthenticationFilterConfigurer<H extends HttpSecurityBuilder<H>,OpenIDLoginConfigurer<H extends HttpSecurityBuilder<H>>,OpenIDAuthenticationFilter>
のconfigure
- 例外:
java.lang.Exception
createLoginProcessingUrlMatcher
protected RequestMatcher createLoginProcessingUrlMatcher(java.lang.String loginProcessingUrl)
使用すべきではありません。クラスからコピーされた説明:AbstractAuthenticationFilterConfigurer
loginProcessingUrl を与えられたRequestMatcher
を作成する- 次で指定:
- クラス
AbstractAuthenticationFilterConfigurer<H extends HttpSecurityBuilder<H>,OpenIDLoginConfigurer<H extends HttpSecurityBuilder<H>>,OpenIDAuthenticationFilter>
のcreateLoginProcessingUrlMatcher
- パラメーター:
loginProcessingUrl
- loginProcessingUrl に基づいてRequestMatcher
を作成します- 戻り値:
- loginProcessingUrl に基づいて使用する
RequestMatcher