| 1 package com.sslexplorer.ajax; 2 3 import javax.servlet.http.HttpServletRequest ; 4 import javax.servlet.http.HttpServletResponse ; 5 6 import org.ajaxtags.helpers.AjaxXmlBuilder; 7 import org.apache.struts.action.ActionForm; 8 import org.apache.struts.action.ActionMapping; 9 10 import com.sslexplorer.boot.ContextHolder; 11 import com.sslexplorer.boot.Util; 12 import com.sslexplorer.core.UserDatabaseManager; 13 import com.sslexplorer.security.LogonControllerFactory; 14 import com.sslexplorer.security.Role; 15 import com.sslexplorer.security.SessionInfo; 16 import com.sslexplorer.security.UserDatabase; 17 18 19 31 public class ListRolesAction extends AbstractAjaxXMLAction { 32 33 36 protected void onAjaxRequest(ActionMapping mapping, ActionForm form, HttpServletRequest request, 37 HttpServletResponse response, AjaxXmlBuilder builder) throws Exception { 38 UserDatabase udb; 39 if(ContextHolder.getContext().isSetupMode()) { 40 udb = UserDatabaseManager.getInstance().getDefaultUserDatabase(); 41 } 42 else { 43 udb = UserDatabaseManager.getInstance().getUserDatabase(LogonControllerFactory.getInstance().getUser(request).getRealm()); 44 } 45 String role = request.getParameter("role"); 46 String maxRows = request.getParameter("maxRows"); 47 int rows = Integer.parseInt(maxRows == null ? "10" : maxRows); 48 Role[] roles = udb.listAllRoles( ( role == null ? "" : Util.urlDecode(role) ) + "*"); 49 for(int i = 0 ; i < roles.length && i < rows; i++) { 50 String s = Util.encodeHTML(roles[i].getPrincipalName()); 51 builder.addItem(s, s); 52 } 53 } 54 55 58 public int getNavigationContext(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { 59 return SessionInfo.MANAGEMENT_CONSOLE_CONTEXT; 60 } 61 62 } 63 | Popular Tags |