⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 listaccountsaction.java

📁 这是linux下ssl vpn的实现程序
💻 JAVA
字号:
package com.sslexplorer.ajax;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.ajaxtags.helpers.AjaxXmlBuilder;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

import com.sslexplorer.boot.ContextHolder;
import com.sslexplorer.core.CoreServlet;
import com.sslexplorer.core.UserDatabaseManager;
import com.sslexplorer.install.forms.SelectUserDatabaseForm;
import com.sslexplorer.security.Constants;
import com.sslexplorer.security.SessionInfo;
import com.sslexplorer.security.User;
import com.sslexplorer.security.UserDatabase;
import com.sslexplorer.wizard.AbstractWizardSequence;

/**
 * Implementation of {@link com.sslexplorer.ajax.AbstractAjaxXMLAction} that returns an 
 * XML document containing a list of user accounts.
 * <p>
 * Two request parameters are supported. First, the optional <b>account</b> 
 * which may contain a search string and secondly <b>maxRows</b> which is
 * an integer, defaults to 10 and determines the maximum number of results to 
 * return. If <b>account</b> is not supplied, all accounts (up to the 
 * specified maximum rows) will be returned. 
 * 
 * @author Brett Smith <a href="mailto: brett@3sp.com">&lt;brett@3sp.com&gt;</a>
 * @version $Revision: 1.12 $
 */

public class ListAccountsAction extends AbstractAjaxXMLAction {


    /* (non-Javadoc)
     * @see com.sslexplorer.ajax.AbstractAjaxAction#onAjaxRequest(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.ajaxtags.helpers.AjaxXmlBuilder)
     */
    protected void onAjaxRequest(ActionMapping mapping, ActionForm form, HttpServletRequest request,
                    HttpServletResponse response, AjaxXmlBuilder builder) throws Exception {
        UserDatabase udb;
        if(ContextHolder.getContext().isSetupMode()) {
            AbstractWizardSequence seq = (AbstractWizardSequence)request.getSession().getAttribute(Constants.WIZARD_SEQUENCE); 
            udb = UserDatabaseManager.getInstance().getUserDatabase(
                (String)seq.getAttribute(SelectUserDatabaseForm.ATTR_USER_DATABASE, null));
        }
        else {
            udb = CoreServlet.getServlet().getUserDatabase();
        }
        String account = request.getParameter("account");
        String maxRows = request.getParameter("maxRows");
        int rows = Integer.parseInt(maxRows == null ? "10" : maxRows);
        String filter =  ( account == null ? "" : account ) + "*";
        User[] users = udb.listAllUsers(filter);
        for(int i = 0 ; i < users.length && i < rows; i++) {
            builder.addItem(users[i].getPrincipalName(), users[i].getPrincipalName());            
        }
    }

    /* (non-Javadoc)
     * @see com.sslexplorer.core.actions.CoreAction#getNavigationContext(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
     */
    public int getNavigationContext(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
        return SessionInfo.MANAGEMENT_CONSOLE_CONTEXT | SessionInfo.SETUP_CONSOLE_CONTEXT;
    }

}

⌨️ 快捷键说明

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