2016-03-28 30 views
0

Kimlik doğrulama için Grails 3 ve Spring Security Plugin kullanıyorum. Grails 3 Yaylı Güvenlik Eklentisi

Tarayıcımdaki, elle aşağıdaki url vurduğunda:

http://localhost:8080/cool-0.1/

Ben giriş sayfası olsun ve ben doğru benim kullanıcı adı/şifre combo yazın sonucunun çıkarılması, başarıyla kimlik doğrulaması yapabilir.

Sorun:

Ben eğik çizgi olmadan, orijinal bağlantısını kullanarak benim sayfaya geçerseniz

: Tamamen güvenlik bypass (IE http://localhost:8080/cool-0.1 değil http://localhost:8080/cool-0.1/) ve kimlik doğrulaması yapmadan ana sayfayı görmek mümkün duyuyorum . (Evet, vb Önbelleğimi, yakın tüm pencereleri temizlemek)

Benim url eşleştirmeleri

aşağıdaki kodu içerir:

grails.plugin.springsecurity.controllerAnnotations.staticRules = [ 
    [pattern: '/login/**', access: ['permitAll']], 
    [pattern: '/error', access: ['permitAll']], 
    [pattern: '/**', access: 'isAuthenticated()'] 
] 
grails.plugin.springsecurity.filterChain.chainMap = [ 
    [pattern: '/assets/**', filters: 'none'], 
    [pattern: '/**/js/**', filters: 'none'], 
    [pattern: '/**/css/**', filters: 'none'], 
    [pattern: '/**/images/**', filters: 'none'], 
    [pattern: '/**/favicon.ico', filters: 'none'], 
    [pattern: '/**', filters: 'JOINED_FILTERS'] 
] 

:

"/"(controller: "home", action: "index") 

My bahar güvenlik harika dosyası aşağıdaki kodu içeren Burada neyi kaçırdığımı göremiyorum. İki senaryo neden sorunlara neden oluyor? Spring Security Grails 3'ün belgeleri, bunu çözmek için yararlı hiçbir şeyden bahseder.

cevap

0

çözeltisi ** desen kullanmaktı:

[pattern: '**', access: 'isAuthenticated()'], 

Resim belgeler kullanımı/** ve **, ancak, her ikisi de kullanılarak deney yaparak, bu açık bir şekilde özdeş olan bahsedilen değil.

İlgili konular