0

Spring 3 ベースの Web アプリでは、AbstractUserDetailsAuthenticationProvider のカスタム実装を使用して、ユーザー名とパスワードのペアだけでなく、クライアントの IP アドレスもチェックしています。ただし、内で呼び出すとretrieveUser():

@Override
protected UserDetails retrieveUser(String username, UsernamePasswordAuthenticationToken authentication) throws AuthenticationException {
    ...
    String ipAddr = ((WebAuthenticationDetails)authentication.getDetails()).getRemoteAddress();
    ...
    User user = ...
    return user;
}

戻ります0:0:0:0:0:0:0:1%0。これは、localhost の IP v6 アドレスになります。そのメソッドが IP v6 アドレスを返す場合、IP v4 アドレスのホワイト リストと照合するにはどうすればよいですか? ホワイトリストに IP v4 および v6 との互換性を提供できますか? あなたの洞察に感謝します!

4

2 に答える 2

3

ローカルの Tomcat の場合は、 ではなく、 で呼び出してhttp://localhost:8080/...みてください。http://127.0.0.1:8080/..

于 2011-04-18T08:36:18.340 に答える