以下のように、ドメインが異なるさまざまなクラブがあります。
Kid club = kidclub.google.mobi
Youth Club = youthclub.yahoo.mobi
Adult Club=adult.godaddy.mobi
Elderly Club = elderly.google.mobi
リダイレクト設定は次のとおりです (リダイレクト設定の例):
1. Kid Club should redirect to Youth Club
2. Youth Club should redirect to Adult Club
3. Adult Club should redirect to Elderly Club
4. Elderly Club should redirect to Kid club
問題のシナリオ: ユーザーが Kid Club に登録しようとすると、このクラブに登録していない場合、ドメイン「kidclub.google.mobi」に転送されます。しかし、彼がすでに登録されている場合は、設定で定義されている別のクラブ Youth Club (youthclub.yahoo.mobi) にリダイレクトする必要があります。また、すでにユース クラブに登録されている場合は、自動的にアダルト クラブ (adult.godaddy.mobi) にリダイレクトされます。これは、彼が登録されていないクラブまで続きます。
1 つのクラブにリダイレクトできる次のコードがありますが、ユーザーが 2 番目のクラブに加入しているかどうかを確認できません。
//ClubDao.isActive(user,club) returns TRUE if user is active to that club and
FALSE if user is inactive.
if( user != null && club != null && ClubDao.isActive(user, club))
{
redirectReturningUser( request, response,domain );
}
void redirectReturningUser( HttpServletRequest request, HttpServletResponse
response,Domain currentDomain )
{
String redirectToUrl = currentDomain.getDefaultUrl();
if( "kidclub.google.mobi".equals( currentDomain.getDefaultUrl() ) )
redirectToUrl = "youthclub.yahoo.mobi";
else if( "youthclub.yahoo.mobi".equals( currentDomain.getDefaultUrl() ) )
redirectToUrl = "adult.godaddy.mobi";
else if( "adult.godaddy.mobi".equals( currentDomain.getDefaultUrl() ) )
redirectToUrl = "elderly.google.mobi";
else if( "elderly.google.mobi".equals( currentDomain.getDefaultUrl() ) )
redirectToUrl = "kidclub.google.mobi";
doRedirect(response, "http://"+redirectToUrl );
}