質問は自明だと思います。CAS サーバーを使用して Spring Security 環境をセットアップしています。まったく同じアプリケーションが同じサーバーにデプロイされていますが、サーバーは異なるホスト名 (.de ドメイン、.com ドメイン、場合によってはそれ以上) を介してアクセス可能であり、テスト システムとローカル システムに同じアプリケーションをデプロイしたいためです。同様に、サービス URL が要求 URL から派生する動的サービスを作成しました。
public static String makeDynamicUrlFromRequest(ServiceProperties serviceProperties, HttpServletRequest request) {
String serviceUrl = "https://backup-url.de/login";
URI uri = null;
try {
uri = new URI(request.getRequestURL().toString());
} catch (URISyntaxException e) {
logger.error("Someone tried accessing a disallowed service!", e);
}
if(uri != null){
serviceUrl = uri.getScheme() + "://" + uri.getHost() + "/login";
}
return serviceUrl;
}
これを偽装することは可能ですか?もしそうなら、追加の正規表現チェックはこれに対して必要なセキュリティを提供してくれますか?