Example usage for org.apache.wicket.core.request.mapper CryptoMapper CryptoMapper

List of usage examples for org.apache.wicket.core.request.mapper CryptoMapper CryptoMapper

Introduction

In this page you can find the example usage for org.apache.wicket.core.request.mapper CryptoMapper CryptoMapper.

Prototype

public CryptoMapper(final IRequestMapper wrappedMapper, final Supplier<ICrypt> cryptProvider) 

Source Link

Document

Construct.

Usage

From source file:com.adamjan.RootApplication.java

License:Open Source License

@Override
protected void init() {
    super.init();

    getMarkupSettings().setDefaultMarkupEncoding("UTF-8");
    getRequestCycleSettings().setResponseRequestEncoding("UTF-8");

    getComponentInstantiationListeners().add(new SpringComponentInjector(this));
    //automatically mount all found pages
    new AnnotatedMountScanner().scanPackage("com.adamjan").mount(this);

    setRootRequestMapper(new CryptoMapper(getRootRequestMapper(), this));
    getSecuritySettings().setAuthorizationStrategy(new AnnotationsRoleAuthorizationStrategy(this));

    //mount login page at /login
    mountPage("/login", LoginPage.class);
}

From source file:com.francetelecom.clara.cloud.presentation.WicketApplication.java

License:Apache License

/**
 * Define application settings/*from w w  w  .  j  av  a2  s  . c om*/
 */
@Override
protected void init() {
    if (logger.isDebugEnabled()) {
        logger.debug("Wicket application init (configurationType:[{}])", getConfigurationType());
    }
    defineSpringInjector();
    if (!RuntimeConfigurationType.DEVELOPMENT.equals(getConfigurationType())) {
        // change default error/timeout pages in production mode
        //defineErrorPage();
        // remove "wicket:id" from html generated code in production mode
        getMarkupSettings().setStripWicketTags(true);
    } else {
        setupDevelopmentSettings();
    }
    //TODO Remove
    //     getDebugSettings().setAjaxDebugModeEnabled(true);
    IApplicationSettings settings = getApplicationSettings();
    //        https://cwiki.apache.org/WICKET/error-pages-and-feedback-messages.html
    settings.setInternalErrorPage(UnknownExceptionPage.class);
    //        settings.setAccessDeniedPage();
    //        settings.setPageExpiredErrorPage();
    getRequestCycleListeners().add(new ExecutionHandlerRequestCycle(this, new WebPageBaseFactory()));
    //TODO : Not available in Wicket 1.5 because it's enabled by default. Why was it disabled?
    //        getPageSettings().setAutomaticMultiWindowSupport(false);
    //will encrypt/decrypt the URLs generated by the inner one
    IRequestMapper cryptoMapper = new CryptoMapper(getRootRequestMapper(), this);
    setRootRequestMapper(cryptoMapper);
    //        ICryptFactory jasyptCryptFactory = new JasyptCryptFactory(urlEncryptor);
    //        getSecuritySettings().setCryptFactory(jasyptCryptFactory);
    mountBookmarks();
    //        https://cwiki.apache.org/WICKET/request-mapping.html
    //        https://issues.apache.org/jira/browse/WICKET-4488
    //        URL with a previous page version ignores requested page based on mount path
    //        http://apache-wicket.1842946.n4.nabble.com/I-don-t-want-url-page-count-parameter-localhost-8080-context-0-td4481510i40.html
    super.init();

    WicketWebjars.install(this);

    new BeanValidationConfiguration().configure(this);

    // For VMWare SDK logging (vCloud API)
    // call only once during initialization time of your application
    //      Do not work (NPE on undeploy)
    //      SLF4JBridgeHandler.install();        
}

From source file:cz.zcu.kiv.eegdatabase.wui.app.EEGDataBaseApplication.java

License:Apache License

@Override
public void init() {
    super.init();

    getDebugSettings().setOutputComponentPath(development);
    getMarkupSettings().setStripWicketTags(true);
    // getMarkupSettings().setCompressWhitespace(true);
    getMarkupSettings().setStripComments(true);

    // set the security strategy is spring and its this bean
    getSecuritySettings().setAuthorizationStrategy(new AnnotationsRoleAuthorizationStrategy(this));
    getSecuritySettings().setUnauthorizedComponentInstantiationListener(this);

    // set access denied page inserted in menu content.
    getApplicationSettings().setAccessDeniedPage(AccessDeniedPage.class);
    getApplicationSettings().setInternalErrorPage(InternalErrorPage.class);

    if (!development) {

        getExceptionSettings().setUnexpectedExceptionDisplay(IExceptionSettings.SHOW_INTERNAL_ERROR_PAGE);
    }/*from  w  w  w.  j av a  2  s  .  c om*/
    // set true for upload progress.
    getApplicationSettings().setUploadProgressUpdatesEnabled(true);

    // add spring component injector listener
    getComponentInstantiationListeners().add(new SpringComponentInjector(this));

    // Enables encryption of generated URLs
    // Pages mounted in mountPages method remain bookmarkable and accessible by their mount name
    setRootRequestMapper(new CryptoMapper(getRootRequestMapperAsCompound(), this));

    // mount pages in wicket application for better working with pages.
    mountPages();

}

From source file:de.alpharogroup.wicket.base.examples.application.WicketApplication.java

License:Apache License

/**
 * @see org.apache.wicket.Application#init()
 *///from   w  w  w  .jav a2 s .c om
@Override
public void init() {
    super.init();

    // install crypto mapper to encrypt all application urls
    getSecuritySettings().setCryptFactory(new KeyInSessionSunJceCryptFactory());
    setRootRequestMapper(new HighScoreRequestMapper().register(new CryptoMapper(getRootRequestMapper(), this)));
    initializeAllHeaderContributors();
    new AnnotatedMountScanner().scanPackage(getPackageToScan()).mount(this);
    // add your configuration here
}

From source file:org.geoserver.web.DynamicCryptoMapper.java

License:Open Source License

public DynamicCryptoMapper(IRequestMapper plainMapper, GeoServerSecurityManager securityManager,
        GeoServerApplication application) {
    this.securityManager = securityManager;
    this.plainMapper = plainMapper;
    this.securityManager = securityManager;
    // GeoServerCryptProvider cryptProvider = new GeoServerCryptProvider(securityManager);
    this.cryptoMapper = new CryptoMapper(plainMapper, application);
}

From source file:org.sakaiproject.profile2.tool.ProfileApplication.java

License:Educational Community License

protected void init() {
    super.init();

    //Configure for Spring injection
    getComponentInstantiationListeners().add(new SpringComponentInjector(this));

    getResourceSettings().setThrowExceptionOnMissingResource(false);
    getMarkupSettings().setStripWicketTags(true);
    getMarkupSettings().setDefaultBeforeDisabledLink(null);
    getMarkupSettings().setDefaultAfterDisabledLink(null);

    // On Wicket session timeout, redirect to main page
    getApplicationSettings().setPageExpiredErrorPage(MyProfile.class);
    getApplicationSettings().setAccessDeniedPage(MyProfile.class);

    // Custom resource loader since our properties are not in the default location
    getResourceSettings().getStringResourceLoaders().add(new ProfileStringResourceLoader());

    // Throw RuntimeExceptions so they are caught by the Sakai ErrorReportHandler
    getRequestCycleListeners().add(new SakaiRequestCycleListener());

    //page mounting so async calls work correctly with the cryptomapper
    mountPage("/messages", MyMessages.class);

    //encrypt URLs
    //this immediately sets up a session (note that things like css now becomes bound to the session)
    getSecuritySettings().setCryptFactory(new KeyInSessionSunJceCryptFactory()); //diff key per user
    final IRequestMapper cryptoMapper = new CryptoMapper(getRootRequestMapper(), this);
    setRootRequestMapper(cryptoMapper);/* www . j a  v  a2 s. c o m*/

}

From source file:tg.adn.precord.core.web.PrecordApp.java

@Override
protected void init() {

    // super.init();
    setConfigurationType(RuntimeConfigurationType.DEPLOYMENT);

    // upload file settings
    getApplicationSettings().setUploadProgressUpdatesEnabled(true);
    getApplicationSettings().setDefaultMaximumUploadSize(Bytes.kilobytes(10240));
    try {/*www. jav a2s . c om*/
        uploadFolder = new Folder(System.getenv("PATH"), "uploads");
    } catch (Exception e) {
        uploadFolder = new Folder(System.getProperty("java.io.tmpdir"), "uploads");
    }
    // crer le dossier des fichiers uploads
    try {
        uploadFolder.mkdir();
    } catch (SecurityException se) {
    }

    // url encryption
    setRootRequestMapper(new CryptoMapper(getRootRequestMapper(), this));

    // debug settings
    getDebugSettings().setAjaxDebugModeEnabled(true);
    getDebugSettings().setOutputMarkupContainerClassName(false);

    // page settings
    getPageSettings().setRecreateBookmarkablePagesAfterExpiry(true);
    getPageSettings().setVersionPagesByDefault(false);

    // security settings
    getSecuritySettings().setEnforceMounts(true);

    // store settings
    getStoreSettings().setMaxSizePerSession(Bytes.kilobytes(5120));
    getStoreSettings().setInmemoryCacheSize(10);

    // markup settings
    getMarkupSettings().setStripWicketTags(true);
    getMarkupSettings().setStripComments(true);
    getMarkupSettings().setCompressWhitespace(true);

    // mounting application
    //        mountPackage("concours", Login.class);
    // error pages settings
    getApplicationSettings().setInternalErrorPage(InternalErrorPage.class);
    getApplicationSettings().setAccessDeniedPage(AccessDeniedPage.class);
    getApplicationSettings().setPageExpiredErrorPage(SessionTimedOutErrorPage.class);

    // client properties
    ClientProperties cp = new ClientProperties();

    // JavaScript resources references
    //        JavaScriptResourceReference jsResourceRef = new JavaScriptResourceReference(PrecordApp.class, "");
    //        getResourceBundles().addJavaScriptBundle(PrecordApp.class, jQueryReference, jQueryUiResource);
    //        getResourceBundles().addCssBundle(PrecordApp.class, cssReference, jQueryUiResource);
    //        addResourceReplacement(
    //                JQueryResourceReference.get(),
    //                new UrlResourceReference(Url.parse("https://ajax.googleapis.com/ajax/libs/dojo/1.7.3/dojo/dojo.js"))
    //        );
    //        addResourceReplacement(
    //                Bootstrap.BOOTSTRAP_CSS,
    //                new UrlResourceReference(Url.parse("https://ajax.googleapis.com/ajax/libs/dojo/1.7.3/dojo/dojo.js"))
    //        );
    //        addResourceReplacement(
    //                Bootstrap.BOOTSTRAP_RESPONSIVE_CSS,
    //                new UrlResourceReference(Url.parse("https://ajax.googleapis.com/ajax/libs/dojo/1.7.3/dojo/dojo.js"))
    //        );
    //        if (usesDeploymentConfig()) {
    //            addResourceReplacement(DojoResourceReference.get(), new UrlResourceReference(Url.parse("https://ajax.googleapis.com/ajax/libs/dojo/1.7.3/dojo/dojo.js")));
    //        }
    //        getResourceBundles().addJavaScriptBundle(ResourceManagementApplication.class, "bundle.js", new BundlesPage.BundledResourceReferenceA(), new BundlesPage.BundledResourceReferenceB(), new BundlesPage.BundledResourceReferenceC());
    //        setHeaderResponseDecorator(new IHeaderResponseDecorator() {
    //            @Override
    //            public IHeaderResponse decorate(IHeaderResponse response) {
    //                String headBucket = "headBucket";
    //                List<FilteringHeaderResponse.IHeaderResponseFilter> filters = new ArrayList<FilteringHeaderResponse.IHeaderResponseFilter>();
    //                AbstractHeaderResponseFilter bucketAcceptingFilter = new AbstractHeaderResponseFilter(JS_IN_FOOTER_FILTER_NAME) {
    //                    @Override
    //                    public boolean accepts(HeaderItem item) {
    //                        boolean accepts = false;
    //                        if (item instanceof FilteredHeaderItem) {
    //                            FilteredHeaderItem filteredHeaderItem = (FilteredHeaderItem) item;
    //                            if (JS_IN_FOOTER_FILTER_NAME.equals(filteredHeaderItem.getFilterName())) {
    //                                accepts = true;
    //                            }
    //                        }
    //                        return accepts;
    //                    }
    //                };
    //                filters.add(bucketAcceptingFilter);
    //                filters.add(new OppositeHeaderResponseFilter(headBucket, bucketAcceptingFilter));
    //                return new FilteringHeaderResponse(response, headBucket, filters);
    //            }
    //        }
    //        );
    // resource settings
    getResourceSettings().setUseMinifiedResources(true);
    getResourceSettings().setUseDefaultOnMissingResource(true);
    getResourceSettings().setThrowExceptionOnMissingResource(false);
    getResourceSettings().setEncodeJSessionId(true);
    PrecordPrinter precordPrinter = new PrecordPrinter("printer");
    getSharedResources().add("printer", (IResource) precordPrinter);
    //        getResourceSettings().getResourceFinders().add(
    //                new WebApplicationPath(getServletContext(), "props"));

    // spring settings
    //        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
    //        getComponentInstantiationListeners().add(new SpringComponentInjector(this, context));
    getComponentInstantiationListeners().add(new SpringComponentInjector(this));
}