Grailsの新機能ですので、何か間違っているかもしれませんが、おそらくあなたがそれを理解する手助けをすることができます。だから、Spring Security Pluginを使ったこの単純なGrailsアプリケーションはうまく動作していると思います。問題は、GSPページ春のセキュリティタグのことは、シナリオ例を私は期待していた情報が表示されないされている。Grails Spring SecurityプラグインとGSPタグが機能しない
私はそれは私がページにログイン示しブラウザからそれを打ったとき
/basket/placeOrder
エンドポイントはそう、確保しています。私が使用して私のコントローラ
println springSecurityService.currentUser.email
の一つには、コンソール上の正しいデータを印刷するとき- (認証が成功したようなので、見えます)、私は正しい資格情報を使用してログインし、それが予想されるページに私を転送します。
しかし、その後、私は例えばGSPに使用しよう:
< sec:ifNotLoggedIn> NOT LOGGED < /sec:ifNotLoggedIn>
それは
NOT LOGGED
を示しています。<sec:loggedInUserInfo field="email" />
などのユーザー情報を取得しようとすると同じですが、文字列が表示されません。 Spring Securityと同じように、GSPとバインドされていません。
私は何か間違っていますか?いくつかの設定がありませんか?おかげさまで
私はそれがspringSecurityService.isLoggedIn()
使用SecurityTagLib
ifNotLoggedIn
関数に見えたEDIT
。私はコントローラから同じものを呼び出すと、期待される結果を返します。私は、コントローラとGSPの両方でsession
を印刷するとき、それはすべて同じです:
SPRING_SECURITY_CONTEXT = [email protected]b66c80: Authentication: org.springframew[email protected]46b66c80: Principal: [email protected]: Username: kamil; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_ADMIN; Credentials: [PROTECTED]; Authenticated: true; Details: org.sprin[email protected]43458: RemoteIpAddress: 0:0:0:0:0:0:0:1; SessionId: AAB2217ABEE7EAF752573D44914B0005; Granted Authorities: ROLE_ADMIN
私はデバッグに私のアプリを実行するために管理され、それがさらに奇妙な取得します。コントローラの最初のブレークポイントにはSpringSecurityService
オブジェクトが表示され、値currentUser
が正しく設定されています。同じ処理が同じSpringSecurityServiceオブジェクト(つまり同じBean、重複していないことを意味します)を持っていますが、それはちょうどすべてが欠落しています()ユーザーデータ。奇妙な!
何かが間違っていることが、