/** * @return true, if the user agent device is an iPad, iPhone or iPod. */ public boolean isIOSDevice() { return this.userAgentDevice != null && this.userAgentDevice.isIn(UserAgentDevice.IPAD, UserAgentDevice.IPHONE, UserAgentDevice.IPOD); }
public synchronized boolean isAuthenticated() { final PFUserDO user = getUser(); return (user != null); }
public synchronized void setUserContext(final UserContext userContext) { this.userContext = userContext; dirty(); }
public MySession(final Request request) { super(request); setLocale(request); final ClientInfo info = getClientInfo(); if (info instanceof WebClientInfo) { clientProperties = ((WebClientInfo) clientInfo).getProperties(); clientProperties.setTimeZone(ThreadLocalUserContext.getTimeZone()); userAgent = ((WebClientInfo) info).getUserAgent(); userAgentDevice = UserAgentDevice.getUserAgentDevice(userAgent); userAgentOS = UserAgentOS.getUserAgentOS(userAgent); mobileUserAgent = userAgentDevice.isMobile(); final UserAgentDetection userAgentDetection = UserAgentDetection.browserDetect(userAgent); userAgentBrowser = userAgentDetection.getUserAgentBrowser(); userAgentBrowserVersionString = userAgentDetection.getUserAgentBrowserVersion(); } else { log.error("Oups, ClientInfo is not from type WebClientInfo: " + info); } setUserContext(ThreadLocalUserContext.getUserContext()); initActualTenant(); this.csrfToken = NumberHelper.getSecureRandomUrlSaveString(20); }
private void detectAndAssert(final String userAgentString, final UserAgentBrowser expectedBrowser, final String expectedVersion) { final UserAgentDetection detection = UserAgentDetection.browserDetect(userAgentString); assertEquals(expectedBrowser, detection.getUserAgentBrowser()); assertEquals(expectedVersion, detection.getUserAgentBrowserVersion()); } }
/** * @see org.apache.wicket.Component#isVisible() */ @Override public boolean isVisible() { return MySession.get().getFeedbackMessages().hasMessage(containerFeedbackMessageFilter); } };
/** * @see org.apache.wicket.authorization.IAuthorizationStrategy#isInstantiationAuthorized(java.lang.Class) */ @Override public <T extends IRequestableComponent> boolean isInstantiationAuthorized(final Class<T> componentClass) { if (WebPage.class.isAssignableFrom(componentClass) == true) { if (MySession.get().isAuthenticated() == true) { return true; } if (AbstractSecuredBasePage.class.isAssignableFrom(componentClass) == true || AbstractSecuredBasePage.class.isAssignableFrom(componentClass) == true || AbstractSecuredMobilePage.class.isAssignableFrom(componentClass) == true) { return false; } } return true; }
@Override public void onUnauthorizedInstantiation(final Component component) { if (MySession.get().isMobileUserAgent() == true) { throw new RestartResponseAtInterceptPageException(LoginMobilePage.class); } else { throw new RestartResponseAtInterceptPageException(LoginPage.class); } }
@Test public void testDeviceDetection() { assertEquals(UserAgentDevice.UNKNOWN, UserAgentDevice.getUserAgentDevice(null)); assertEquals(UserAgentDevice.UNKNOWN, UserAgentDevice.getUserAgentDevice(strs[0])); assertEquals(UserAgentDevice.UNKNOWN, UserAgentDevice.getUserAgentDevice(strs[1])); assertEquals(UserAgentDevice.UNKNOWN, UserAgentDevice.getUserAgentDevice(strs[2])); assertEquals(UserAgentDevice.IPHONE, UserAgentDevice.getUserAgentDevice(strs[3])); assertEquals(UserAgentDevice.IPOD, UserAgentDevice.getUserAgentDevice(strs[4])); assertEquals(UserAgentDevice.UNKNOWN, UserAgentDevice.getUserAgentDevice(strs[5])); assertEquals(UserAgentDevice.UNKNOWN, UserAgentDevice.getUserAgentDevice(strs[6])); assertEquals(UserAgentDevice.UNKNOWN, UserAgentDevice.getUserAgentDevice(strs[7])); assertEquals(UserAgentDevice.UNKNOWN, UserAgentDevice.getUserAgentDevice(strs[8])); assertEquals(UserAgentDevice.UNKNOWN, UserAgentDevice.getUserAgentDevice(strs[9])); }
@Test public void testOSDetection() { assertEquals(UserAgentOS.UNKNOWN, UserAgentOS.getUserAgentOS(null)); assertEquals(UserAgentOS.MAC, UserAgentOS.getUserAgentOS(strs[0])); assertEquals(UserAgentOS.WINDOWS, UserAgentOS.getUserAgentOS(strs[1])); assertEquals(UserAgentOS.WINDOWS, UserAgentOS.getUserAgentOS(strs[2])); assertEquals(UserAgentOS.MAC, UserAgentOS.getUserAgentOS(strs[3])); assertEquals(UserAgentOS.MAC, UserAgentOS.getUserAgentOS(strs[4])); assertEquals(UserAgentOS.WINDOWS, UserAgentOS.getUserAgentOS(strs[5])); assertEquals(UserAgentOS.WINDOWS, UserAgentOS.getUserAgentOS(strs[6])); assertEquals(UserAgentOS.LINUX, UserAgentOS.getUserAgentOS(strs[7])); assertEquals(UserAgentOS.LINUX, UserAgentOS.getUserAgentOS(strs[8])); assertEquals(UserAgentOS.WINDOWS, UserAgentOS.getUserAgentOS(strs[9])); }
/** * From http://www.danwalmsley.com/2009/04/08/apache-wicket-on-google-app-engine-for-java/<br/> * Override the newSessionStore() method to return HttpSessionStore, because the default second level session store * uses java.io.File, which is sometimes not allowed. * * @see org.apache.wicket.Application#newSessionStore() */ /* * @Override protected ISessionStore newSessionStore() { return new * org.apache.wicket.protocol.http.HttpSessionStore(this); } */ @Override public Session newSession(final Request request, final Response response) { final MySession mySession = new MySession(request); return mySession; }
/** * This parameter should be set as hidden field in every formular and should be tested on every submit action for * preventing CSRF attacks. * * @return the randomized cross site request forgery token. */ private String getCsrfSessionToken() { final MySession session = (MySession) Session.get(); return session.getCsrfToken(); }
/** * @see MySession#getUser() */ protected UserContext getUserContext() { return getMySession().getUserContext(); }
/** * Sets or updates the locale of the user's session. Takes the locale of the user account or if not given the locale * of the given request. * * @param request */ public void setLocale(final Request request) { setLocale(ThreadLocalUserContext.getLocale(request.getLocale())); }
public PageExpiredPage(final PageParameters params) { super(params); if (getMySession().isMobileUserAgent() == true) { throw new RestartResponseException(MenuMobilePage.class); } setMessage(getString("message.wicket.pageExpired")); } }
public boolean isMobile() { return isIn(ANDROID, BLACKBERRY, IPHONE, IPOD, SMARTPHONE, SYMBIAN, WAP, WINDOWS_MOBILE); } }
/** * @see MySession#getUser() */ @Override protected PFUserDO getUser() { return getMySession().getUser(); }
/** * @see MySession#getUser() */ @Override public PFUserDO getUser() { return getMySession().getUser(); }
/** * @return The id of the logged-in user or null if no user is logged-in. */ public synchronized Integer getUserId() { final PFUserDO user = getUser(); return user != null ? user.getId() : null; }
public synchronized TimeZone getTimeZone() { final PFUserDO user = getUser(); return user != null ? user.getTimeZoneObject() : Configuration.getInstance().getDefaultTimeZone(); }