2016-02-27 21 views
14

Spring OAuth2'yi Spring MVC REST'e entegre etmeye çalışıyorum. İlkbahardaki OAuth2 örneklerinin çoğunda sadece ResourceServerConfigurerAdapter ve bazılarında WebSecurityConfigurerAdapter var. OAuth'ı Google, Facebook vb. Ile entegre etmeyeceğim. Şu anda Basic Kimlik Doğrulaması'na dayanan Spring MVC REST için jeton tabanlı bir kimlik doğrulaması sağlamaya çalışıyorum. Birisi, Spring MVC REST + OAuth entegrasyonunu tek bir sunucuda anlamak için gerekli olanı değil mi, iyi kaynak mı sunabilir?WebSecurityConfigurerAdapter ve ResourceServerConfigurerAdapter arasındaki ilişki

Şu anda benim POC WebSecurityConfigurerAdapter olmadan çalışır, ancak ResourceServerConfigurerAdapter ile birlikte AuthorizationServerConfigurerAdapter ile çalışır. ResourceServerConfigurerAdapter'un yeterli gibi görünüyor. Şimdi, Spring MVC REST uygulamamda mükemmel şekilde çalışan mevcut WebSecurityConfigurerAdapter'uma ne yapmam gerektiğinden emin değilim.

cevap

10

İşte iyi bir yanıt https://stackoverflow.com/a/28604260, WebSecurityConfigurerAdapter ResourceServerConfigurerAdapter için daha düşük bir sipariştir.

Bir WebSecurityConfigurerAdapter ve ResourceServerConfigurerAdapter ancak bitiş noktaları güvenlik yapılandırması altında ResourceServerConfigurerAdapter içindedir vardır:

public void configure(HttpSecurity http) throws Exception { 

şunlarla yapılandırmaya sahip: Else

security: 
    oauth2: 
     resource: 
      filter-order: 3 

bitiş noktaları güvenlik yapılandırması yok sayılır (neden bilmiyorum).

+0

bu benim için de çalıştı. bununla birlikte, bir 'WebSecurityConfigurerAdapter''üne ihtiyacım yok -' ResourceServerConfigurerAdapter' her şeyi yapar. Filtre testini 3 testte “logging.level.org.springframework.security: DEBUG” ile gözlemledim. 1. "Kaynak * sadece" 2. "Kaynak * ve Web *" 3. "Kaynak * ve Web * ve" filtre siparişi ". 1 ve 3 numaralı durumlarda: filtre zinciri 12 uzunluğundaydı ve taşıyıcı auth (istenen şekilde) sağlayan bir "OAuth2AuthenticationProcessingFilter" içeriyordu. Ancak 2 durumunda: filtre zinciri 14 uzunluğundaydı, 'OAuth * Filter' hariç tutuldu ve bunun yerine "User * Password * Filter" gibi filtreler kullanıldı. – Birchlabs

+0

Bunun için herhangi bir çözüm bulursanız lütfen bana bildirin, aynı sorunu yaşıyorum. İşte benim sorum https://stackoverflow.com/questions/47627226/basic-auth-oauth-implementation-in-spring-boot –

+0

Bence iyi bir cevap, ancak, oauth bir acemi olmak, ben bu cevabı gel ve ben de aldım ... WebSecurityConfigurerAdapter, ResourceServerConfigurerAdapter WebSecurityConfigurerAdapter'den önce işlenebileceği gibi, ResourceServerConfigurerAdapte'_'dan daha düşük bir sipariş. Sadece açıklığa kavuşturmak için, WebSecurityConfigurerAdapter ** daha yüksek bir önceliğe sahip gibi görünüyor ** ResourceServerConfigurerAdapter üzerinde – kavrosis

İlgili konular