Más contenido relacionado
La actualidad más candente (20)
Similar a Springを何となく使ってる人が抑えるべきポイント (20)
Springを何となく使ってる人が抑えるべきポイント
- 4. 主要なポイント
• Beanのコンフィグレーション
– コンフィグレーション方法の種類と使い分け
• DI・AOP
– 使いどころ
– 同じオブジェクトが使われている
– インタフェースは必須じゃない
• データアクセス
– コネクション・トランザクション周りの仕組み
• Spring MVC
– 画面周りの処理の流れ
• Spring Security
– 認証・認可の仕組み
• テスト
– サーバを起動しなくてもBeanをテストできる
• Spring Boot
– Spring Bootが行っていること
4
- 8. DI・AOPの使いどころ
• DI
– 作成するクラスすべてをBeanで管理する訳ではない
– Controller、Service、Daoは、BeanにしてDIで紐づける
• レイヤーの間で処理を挟み込んだり、依存オブジェクトの切り替えを容易にする
– 処理の度にオブジェクトが生成され個別のフィールド値を設定するEntityやDTOは
Beanにしない
• AOP
– レイヤーの間にAOPで共通処理を挟み込む
• BeanにしかAOPできないという事情もある
– 業務的な処理は基本的にAOPは使わない
8
:Controller :Service :Dao
:DTO :Entity
アプリで
生成
DI・・・・AOP
AOPの処理
- 13. 認証・認可の仕組み
• 認証と、URLの認可はServletFilterで行われている
– DispacherServletに依存していない(Spring MVCに依存しない)
• 認可の主な対象は、URL・メソッド・画面描画の3種類
13
@PreAuthorize("hasRole('ROLE_AD
MIN')")
public void foo(){
・・・
}
認証認証認証認証のServletFilter
<authorize
access="hasRole('ROLE_ADMIN')">
・・・
</authorize>
メソッドの認可認可認可認可の
Proxy
画面描画の認可認可認可認可の
カスタムタグ
HttpSession/ThreadLocal
SecurityContext
ユーザ 権限
URLの認可認可認可認可の
ServletFilter
Spring Security
<intercept-url pattern="/admin/**"
access="hasRole('ROLE_ADMIN')"/>
・・・