2016-07-28 27 views
-1

は、私がその要求http.authorizeRequests()と 春のセキュリティ4 - 認証のマッピング

@PreAuthorize

で許可されているプログラムで、これらのマッピングを取得する方法はありSpringアプリケーションを持っていると仮定すると取得しますか? Spring内に、現在認証されているユーザーに対してどのURLが許可されているかを取得できるAPIがありますか?

答えて

0

私は

@PreAuthorize("authorizeAccess(#user,#contentType,)") 
public Idea somemethod(@RequestBody User user, @RequestHeader("Content-Type") String contentType) 
{..} 

...我々は@RequestHeader(「Content-Typeの」)のようなリクエストヘッダを渡すと類似し、より良い方法がある場合は...私はそれを見てみたい知らない。しかし以下の通りです間違いなくオプション。

オーバーライドの書き方や、春のセキュリティ(SecurityExpressionRootを拡張したカスタマイズされたクラス)で使用する独自のメソッドを書く方法が分かっていると仮定します。あなたは、メソッドi.e..authorizeAccess

public boolean authorizeAccess(String mapping) 
{ 
    // use mapping to authorize 
    .. do something 
} 

を持っている場合はその後、我々は...一定のファイルに

package org.somepackage; 
public interface URLMappings { 
public static String ADMIN = "/admin"; 
} 

をすべてのURLを持つことができそうなら、..定数として

@RequestMapping(value = URLMappings.ADMIN, method = RequestMethod.POST) 
@PreAuthorize("authorizeAccess(T(org.somepackage.URLMappings).ADMIN)") 
をこれらのURLを渡します
関連する問題