認可の移行
次の手順は、認可サポートの移行を完了する方法に関連しています。
メッセージセキュリティに AuthorizationManager を使用する
6.0 では、<websocket-message-broker> はデフォルトで use-authorization-manager を true に設定します。移行を完了するには、websocket-message-broker@use-authorization-manager=true 属性をすべて削除します。
例:
XML
<websocket-message-broker use-authorization-manager="true"/>
変更:
XML
<websocket-message-broker/>
この機能のための Java または Kotlin の移行手順はこれ以上ありません。
リクエストセキュリティに AuthorizationManager を使用する
6.0 では、<http> は once-per-request を false に、filter-all-dispatcher-types を true に、use-authorization-manager を true にデフォルト設定します。また、authorizeHttpRequests#filterAllDispatcherTypes は true にデフォルト設定されています。移行を完了するには、デフォルト値をすべて削除できます。
例: filter-all-dispatcher-types または authorizeHttpRequests#filterAllDispatcherTypes の 6.0 デフォルトを選択した場合:
Java
Kotlin
XML
http
.authorizeHttpRequests((authorize) -> authorize
.filterAllDispatcherTypes(true)
// ...
)
http {
authorizeHttpRequests {
filterAllDispatcherTypes = true
// ...
}
}
<http use-authorization-manager="true" filter-all-dispatcher-types="true"/>
次に、デフォルトを削除できます。
Java
Kotlin
XML
http
.authorizeHttpRequests((authorize) -> authorize
// ...
)
http {
authorizeHttpRequests {
// ...
}
}
<http/>
|
-parameters でコンパイルする
Spring Framework 6.1 は LocalVariableTableParameterNameDiscoverer を削除します [GitHub] (英語) 。これは、@PreAuthorize およびその他のメソッドセキュリティアノテーションがパラメーター名を処理する方法に影響します。パラメーター名を含むメソッドセキュリティアノテーションを使用している場合、例:
id パラメーター名を使用したメソッドセキュリティアノテーション @PreAuthorize("@authz.checkPermission(#id, authentication)")
public void doSomething(Long id) {
// ...
} パラメーター名が実行時に使用できるようにするには、-parameters を使用してコンパイルする必要があります。詳細については、Spring Framework 6.1 ページへのアップグレード [GitHub] (英語) を参照してください。