authenticationschemesform.java

来自「这是linux下ssl vpn的实现程序」· Java 代码 · 共 147 行

JAVA
147
字号
/*
 *  SSL-Explorer
 *
 *  Copyright (C) 2003-2006 3SP LTD. All Rights Reserved
 *
 *  This program is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU General Public License
 *  as published by the Free Software Foundation; either version 2 of
 *  the License, or (at your option) any later version.
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public
 *  License along with this program; if not, write to the Free Software
 *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */
			
package com.sslexplorer.security.forms;

import java.util.Iterator;
import java.util.List;

import javax.servlet.http.HttpSession;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.sslexplorer.core.CoreServlet;
import com.sslexplorer.policyframework.forms.AbstractResourcesForm;
import com.sslexplorer.security.AuthenticationSchemeSequence;
import com.sslexplorer.security.AuthenticationSchemeSequenceItem;
import com.sslexplorer.table.AbstractTableItemTableModel;

/**
 * Implementation of a {@link com.sslexplorer.policyframework.forms.AbstractResourcesForm}
 * that allows an administrator to list and configure <i>Authentication Schemes</i>.
 * 
 * @author Brett Smith <a href="mailto:brett@3sp.com">&lt;brett@3sp.com&gt;</a>
 * @version $Revision: 1.12 $
 */
public class AuthenticationSchemesForm extends AbstractResourcesForm {

    static Log log = LogFactory.getLog(AuthenticationSchemesForm.class);

    /**
     * Constructor
     */
    public AuthenticationSchemesForm() {
        super(new AuthenticationSchemesModel());
    }

    /**
     * Initialis this form with a list of authentication schemes.
     * 
     * @param session session
     * @param authenticationSchemeSequence array of authentication schemes
     *        to display
     * @throws Exception on any error
     */
    public void initialize(HttpSession session, List authenticationSchemeSequence) throws Exception {
        super.initialize(session, "name");
        int defaultScheme = Integer.parseInt(CoreServlet.getServlet().getPropertyDatabase()
            .getProperty(0, null, "authenticationScheme.default"));
        for (Iterator i = authenticationSchemeSequence.iterator(); i.hasNext(); ) {
            AuthenticationSchemeSequenceItem item = new AuthenticationSchemeSequenceItem((AuthenticationSchemeSequence)i.next());
            if (item.getSequence().getResourceId() == defaultScheme) {
                item.setDefault(true);
            }
            getModel().addItem(item); 
        }
        getPager().rebuild(getFilterText());
    }

    /*
     * Supporting classes
     */

    /**
     * Table model for displaying authentication schemes.
     * 
     * @author Brett Smith <a href="mailto:brett@3sp.com">&lt;brett@3sp.com&gt;</a>
     * @version $Revision: 1.12 $
     */
    static class AuthenticationSchemesModel extends AbstractTableItemTableModel {

        /*
         * (non-Javadoc)
         * 
         * @see com.sslexplorer.table.AbstractTableItemTableModel#getColumnWidth(int)
         */
        public int getColumnWidth(int col) {
            return 0;
        }

        /*
         * (non-Javadoc)
         * 
         * @see com.sslexplorer.table.TableItemModel#getId()
         */
        public String getId() {
            return "authenticationSchemes";
        }

        /*
         * (non-Javadoc)
         * 
         * @see com.sslexplorer.table.TableModel#getColumnCount()
         */
        public int getColumnCount() {
            return 3;
        }

        /*
         * (non-Javadoc)
         * 
         * @see com.sslexplorer.table.TableModel#getColumnName(int)
         */
        public String getColumnName(int col) {
            switch (col) {
                case 0:
                    return "name";
                case 1:
                    return "enabled";
                default:
                    return "default";
            }
        }
 
        /*
         * (non-Javadoc)
         * 
         * @see com.sslexplorer.table.TableModel#getColumnClass(int)
         */
        public Class getColumnClass(int col) {
            switch (col) {
                case 0:
                    return String.class;
                default:
                    return Boolean.class;
            }
        }

    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?