私は、ばねカンガルーことによってそれを学んでいるときに私は、私のウェブを確保するために、バネのセキュリティを使用するには<http>
ノードでは、ApplicationContextの-のsecurity.xmlに設定ファイルを生成:スプリングセキュリティは "?パラメータ"形式と一致できません。
<intercept-url pattern="/userses?form" access="hasRole('ROLE_ADMIN')" />
作成するとき、それは意味しますUsersオブジェクトは、まずADMIN権限を得るためにログインする必要があります。しかし、実際には機能しませんでした。ログをチェックしてください:?文字列が一致しなかったとして、
2012-05-06 11:39:11,250 [http-8088-7] DEBUG org.springframework.security.web.util.AntPathRequestMatcher - Checking match of request : '/userses'; against '/userses?form'
フレームワークは、/ usersesの代わりに/ usersesを使用して比較するために、フォーム認証プロセスをスキップ。これを確認するために、私はまた、別のURLを試してみてください。
<intercept-url pattern="/userses/abc" access="hasRole('ROLE_ADMIN')" />
私は/ userses/ABC要求し、それはユーザが許可されていない検出、およびへ/ログインページを移動し、ログを確認:だから
2012-05-06 11:46:44,343 [http-8088-7] DEBUG org.springframework.security.web.util.AntPathRequestMatcher - Checking match of request : '/uesrses/abc'; against '/userses/abc'
私の質問は:春のセキュリティ3サポート "パラメータ"パターンか私はこれをサポートするために設定するために何かを逃したのですか? PS:すべてのコードはrooによって修正されずに生成されますが、なぜ動作しないのか不思議です。
ありがとうございます。私はあなたが答えを知っているかもしれないと思う別の質問。 @Secureメソッドは私のためには機能しませんでした。 applicationContext-security.xmlに タグを追加し、依存関係を満たすようにpom.xmlを変更しました。コントローラのメソッドの上に@Secured( "ROLE_ADMIN")みんながこのメソッドにアクセスすることができる役割に関係なく、何か間違っていますか? @Secured( "ROLE_ADMIN") @RequestMapping(値= "abc"、メソッド= RequestMethod.GET、生成= "text/html") public String create(){ return Users.getString(); // myCreate ); } –
JerryCai
@JerryCaiおそらく、あなたは新しい質問を開くべきです。コメントの中のコードを読むのは難しいですし、それが別の問題としてそれを見つけることができれば、同じ問題を持つ他の人を助けるでしょう。 –
それでは、ありがとう、ありがとう。 – JerryCai