1 package org.tigris.scarab.pipeline; 2 3 import java.io.IOException ; 4 import java.util.HashSet ; 5 import java.util.Set ; 6 7 import org.apache.turbine.RunData; 8 import org.apache.turbine.TurbineException; 9 import org.apache.turbine.ValveContext; 10 import org.apache.turbine.pipeline.AbstractValve; 11 import org.tigris.scarab.om.ScarabUser; 12 import org.tigris.scarab.util.AnonymousUserUtil; 13 import org.tigris.scarab.util.Log; 14 15 22 public class AnonymousLoginValve extends AbstractValve 23 { 24 private final static Set nonAnonymousTargets = new HashSet (); 25 private String userid = null; 26 private boolean anonymousAccessAllowed = false; 27 28 32 public void initialize() throws Exception 33 { 34 anonymousAccessAllowed = AnonymousUserUtil.anonymousAccessAllowed(); 35 if (anonymousAccessAllowed) { 36 Log.get().info("anonymous Login enabled."); 37 userid = AnonymousUserUtil.getAnonymousUserId(); 38 nonAnonymousTargets.add("Register.vm"); 43 nonAnonymousTargets.add("ForgotPassword.vm"); 44 } 45 else 46 { 47 Log.get().info("anonymous Login disabled."); 48 } 49 } 50 51 55 public void invoke(RunData data, ValveContext context) throws IOException , TurbineException 56 { 57 String target = data.getTarget(); 58 if (anonymousAccessAllowed && !nonAnonymousTargets.contains(target) && target.indexOf("help,") == -1) 59 { 60 ScarabUser user = (ScarabUser)data.getUserFromSession(); 62 if (null == user || user.getUserId() == null || !user.hasLoggedIn()) 63 AnonymousUserUtil.anonymousLogin(data); 64 } 65 context.invokeNext(data); 66 } 67 68 } 69 | Popular Tags |