apache shiro
ユーザーの IP アドレスとユーザーの国に基づいて認証を行うサービスを提供しているかどうかを知りたいですか?
はい、@Wouter 情報に感謝しますが、以前にもこのメソッドをオーバーライドしようとしましたが、http://www.mkyong.com/java/how-to-get-client-ip-address-in-Java/を読みました プロキシの IP アドレスを避けるための記事。
Shiro API gethost()
メソッドのドキュメントによると
"Returns the host name of the client from where the authentication attempt originates or if the Shiro environment cannot or chooses not to resolve the hostname to improve performance, this method returns the String representation of the client's IP address.
When used in web environments, this value is usually the same as the ServletRequest.getRemoteHost() value."
クライアントがレルムdoGetAuthenticationInfo()
メソッド内のプロキシサーバーの横にあるかどうかを確認する方法はありますか
//is client behind something?
String ipAddress = request.getHeader("X-FORWARDED-FOR");
if (ipAddress == null) {
ipAddress = request.getRemoteAddr();
}
...または、このgetHost()
方法は私のために仕事をしますか?