/*
* =============================================================================
*
* Copyright (c) 2007-2010, The JASYPT team (http://www.jasypt.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* =============================================================================
*/
package org.jasypt.web.pbeconfig;
Interface which must be implemented by the user-defined classes which
create and initialize webapp PBE encryptors for being configured through
the web pbe configuration servlet.
This interface only has one method, initializeWebPBEConfigs()
, which the implementation class should use for creating encryptors and setting WebPBEConfig
objects to them, like:
package myapp;
...
public class MyWebPBEInitializer implements WebPBEInitializer {
public void initializeWebPBEConfigs() {
StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
encryptor.setAlgorithm("PBEWithMD5AndDES");
WebPBEConfig webConfig = new WebPBEConfig();
webConfig.setValidationWord("jasypt");
webConfig.setName("Main Password");
encryptor.setConfig(webConfig);
// Get some user-defined singleton or similar, and register
// the encryptor with it so that it can be accessed from the
// rest of the application.
}
}
All WebPBEConfig objects get internally registered at
instantiation time, and once assigned to an encryptor they will appear
in the web form for password setting.
Important: If the web application uses Spring Framework, WebPBEConfig
objects are declared as beans in the Spring context and this Spring context
is initialized at application deploy time
(with Spring's ContextLoaderListener), it will NOT be necessary
to create
any classes implementing this WebPBEInitializer interface. The use WebPBEInitializationContextListener
will also become unnecessary.
Author: Daniel Fernández Since: 1.3
/**
* <p>
* Interface which must be implemented by the user-defined classes which
* create and initialize webapp PBE encryptors for being configured through
* the web pbe configuration servlet.
* </p>
* <p>
* This interface only has one method, {@link #initializeWebPBEConfigs()},
* which the implementation class should use for creating encryptors and
* setting {@link WebPBEConfig} objects to them, like:
* </p>
* <pre>
* package myapp;
* ...
* public class MyWebPBEInitializer implements WebPBEInitializer {
*
* public void initializeWebPBEConfigs() {
*
* StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
* encryptor.setAlgorithm("PBEWithMD5AndDES");
*
* WebPBEConfig webConfig = new WebPBEConfig();
* webConfig.setValidationWord("jasypt");
* webConfig.setName("Main Password");
*
* encryptor.setConfig(webConfig);
*
* // Get some user-defined singleton or similar, and register
* // the encryptor with it so that it can be accessed from the
* // rest of the application.
*
* }
*
* }
* </pre>
* <p>
* All <tt>WebPBEConfig</tt> objects get internally registered at
* instantiation time, and once assigned to an encryptor they will appear
* in the web form for password setting.
* </p>
* <p>
* <b>Important</b>: If the web application uses Spring Framework, <tt>WebPBEConfig</tt>
* objects are declared as beans in the Spring context and this Spring context
* is initialized at application deploy time
* (with Spring's <tt>ContextLoaderListener</tt>), it will NOT be necessary
* to create
* any classes implementing this <tt>WebPBEInitializer</tt> interface.
* The use {@link WebPBEInitializationContextListener} will also become
* unnecessary.
* </p>
*
* @since 1.3
*
* @author Daniel Fernández
*
*/
public interface WebPBEInitializer {
Method called by WebPBEInitializationContextListener
at application deploy time for initialization of jasypt encryptors.
/**
* <p>
* Method called by {@link WebPBEInitializationContextListener} at
* application deploy time for initialization of jasypt encryptors.
* </p>
*
*/
public void initializeWebPBEConfigs();
}