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

📄 securityconfigpanel.java

📁 aglet的部分源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.ibm.aglets.tahiti;/* * @(#)SecurityConfigDialog.java *  * IBM Confidential-Restricted *  * OCO Source Materials *  * 03L7246 (c) Copyright IBM Corp. 1996, 1998 *  * The source code for this program is not published or otherwise * divested of its trade secrets, irrespective of what has been * deposited with the U.S. Copyright Office. */import java.awt.Button;import java.awt.Checkbox;import java.awt.Dialog;import java.awt.Event;import java.awt.Font;import java.awt.Choice;import java.awt.Frame;import java.awt.CardLayout;import java.awt.GridBagLayout;import java.awt.GridBagConstraints;import java.awt.Insets;import java.awt.Label;import java.awt.List;import java.awt.Panel;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.util.Vector;import java.util.Hashtable;import java.util.Enumeration;import java.util.StringTokenizer;import java.io.File;import java.io.IOException;import java.security.Policy;import com.ibm.aglets.security.PolicyDB;import com.ibm.aglets.security.PolicyFileReader;import com.ibm.aglets.security.PolicyFileWriter;import com.ibm.aglets.security.PolicyGrant;import com.ibm.aglets.security.PolicyPermission;import com.ibm.aglets.security.PolicyFileParsingException;import com.ibm.awb.misc.URIPattern;import com.ibm.awb.misc.MalformedURIPatternException;import com.ibm.awb.misc.Resource;class SecurityConfigPanel extends GridBagPanel implements ItemListener {	private static final String LABEL_FILE_PERMISSION = "FileSystem";	private static final String LABEL_SOCKET_PERMISSION = "Socket";	private static final String LABEL_AWT_PERMISSION = "Window";	private static final String LABEL_NET_PERMISSION = "Network";	private static final String LABEL_PROPERTY_PERMISSION = "Property";	private static final String LABEL_REFLECT_PERMISSION = "Reflect";	private static final String LABEL_RUNTIME_PERMISSION = "Runtime";	private static final String LABEL_SECURITY_PERMISSION = "Security";	private static final String LABEL_SERIALIZABLE_PERMISSION = 		"Serializable";	private static final String LABEL_ALL_PERMISSION = "All";	// for aglets	private static final String LABEL_AGLET_PERMISSION = "Aglet";	private static final String LABEL_MESSAGE_PERMISSION = "Message";	private static final String LABEL_CONTEXT_PERMISSION = "Context";	// -   private static final String LABEL_THREAD_PERMISSION   = "Thread";	// #   private static final String LABEL_ACTIVITY_PERMISSION = "Activity";	private static final String LABEL_AGLET_PROTECTION = "Protection (Aglet)";	private static final String LABEL_MESSAGE_PROTECTION = 		"Protection (Message)";	private static final String CLASSNAME_FILE_PERMISSION = 		"java.io.FilePermission";	private static final String CLASSNAME_SOCKET_PERMISSION = 		"java.net.SocketPermission";	private static final String CLASSNAME_AWT_PERMISSION = 		"java.awt.AWTPermission";	private static final String CLASSNAME_NET_PERMISSION = 		"java.net.NetPermission";	private static final String CLASSNAME_PROPERTY_PERMISSION = 		"java.util.PropertyPermission";	private static final String CLASSNAME_REFLECT_PERMISSION = 		"java.lang.reflect.ReflectPermission";	private static final String CLASSNAME_RUNTIME_PERMISSION = 		"java.lang.RuntimePermission";	private static final String CLASSNAME_SECURITY_PERMISSION = 		"java.security.SecurityPermission";	private static final String CLASSNAME_SERIALIZABLE_PERMISSION = 		"java.io.SerializablePermission";	private static final String CLASSNAME_ALL_PERMISSION = 		"java.security.AllPermission";	// for aglets	private static final String CLASSNAME_AGLET_PERMISSION = 		"com.ibm.aglets.security.AgletPermission";	private static final String CLASSNAME_MESSAGE_PERMISSION = 		"com.ibm.aglets.security.MessagePermission";	private static final String CLASSNAME_CONTEXT_PERMISSION = 		"com.ibm.aglets.security.ContextPermission";	// -   private static final String CLASSNAME_THREAD_PERMISSION       = "com.ibm.awb.security.ThreadPermission";	// #   private static final String CLASSNAME_ACTIVITY_PERMISSION     = "com.ibm.aglets.security.ActivityPermission";	private static final String CLASSNAME_AGLET_PROTECTION = 		"com.ibm.aglet.security.AgletProtection";	private static final String CLASSNAME_MESSAGE_PROTECTION = 		"com.ibm.aglet.security.MessageProtection";	private String name;	private PolicyGrant grant;	CardLayout layout = new CardLayout();	Panel setting_panel = new Panel();	private List _filePermList = new List(5, false);	private FilePermissionEditor _filePermEditor = new FilePermissionEditor();	private List _socketPermList = new List(3, false);	private SocketPermissionEditor _socketPermEditor = 		new SocketPermissionEditor();	private List _awtPermList = new List(3, false);	private AWTPermissionEditor _awtPermEditor = new AWTPermissionEditor();	// +   private List _netPermList = new List(3, false);	// +   private NetPermissionEditor _netPermEditor = new NetPermissionEditor();	private List _propertyPermList = new List(3, false);	private PropertyPermissionEditor _propertyPermEditor = 		new PropertyPermissionEditor();	// +   private List _reflectPermList = new List(3, false);	// +   private ReflectPermissionEditor _reflectPermEditor = new ReflectPermissionEditor();	private List _runtimePermList = new List(3, false);	private RuntimePermissionEditor _runtimePermEditor = 		new RuntimePermissionEditor();	private List _securityPermList = new List(3, false);	private SecurityPermissionEditor _securityPermEditor = 		new SecurityPermissionEditor();	// +   private List _serializablePermList = new List(3, false);	// +   private SerializablePermissionEditor _serializablePermEditor = new SerializablePermissionEditor();	private List _allPermList = new List(3, false);	private AllPermissionEditor _allPermEditor = new AllPermissionEditor();	private List _agletPermList = new List(3, false);	private AgletPermissionEditor _agletPermEditor = 		new AgletPermissionEditor();	private List _messagePermList = new List(3, false);	private MessagePermissionEditor _messagePermEditor = 		new MessagePermissionEditor();	private List _contextPermList = new List(3, false);	private ContextPermissionEditor _contextPermEditor = 		new ContextPermissionEditor();	// -   private List _threadPermList = new List(3, false);	// -   private ThreadPermissionEditor _threadPermEditor = new ThreadPermissionEditor();	// #   private List _activityPermList = new List(3, false);	// #   private ActivityPermissionEditor _activityPermEditor = new ActivityPermissionEditor();	private List _agletProtList = new List(3, false);	private AgletProtectionEditor _agletProtEditor = 		new AgletProtectionEditor();	private List _messageProtList = new List(3, false);	private MessageProtectionEditor _messageProtEditor = 		new MessageProtectionEditor();	// -     /*	// -      * window	// -      */	// -     private Checkbox _winWarning = new Checkbox("Warning Message on Aglet Windows", null, true);	// -     private Checkbox _winOpen = new Checkbox("Enable to Open Windows", null, false);	// -	// -     /*	// -      * JDBC	// -      */	// -     private Checkbox _enableJDBC = new Checkbox("Enable JDBC");	// -	// -     /*	// -      * RMI	// -      */	// -     private Checkbox _enableRMIClient = new Checkbox("Enable RMI Client");	// -     private Checkbox _enableRMIServer = new Checkbox("Enable RMI Server");	SecurityConfigPanel(String name, PolicyGrant grant) {		this.name = name;		this.grant = grant;	}	/*	 * add permissions into list	 */	void addPermissions(PolicyGrant grant) {		if (grant == null) {			return;		} 		addPermissions(grant, _filePermList, CLASSNAME_FILE_PERMISSION);		addPermissions(grant, _socketPermList, CLASSNAME_SOCKET_PERMISSION);		addPermissions(grant, _awtPermList, CLASSNAME_AWT_PERMISSION);		// +     addPermissions(grant, _netPermList, CLASSNAME_NET_PERMISSION);		addPermissions(grant, _propertyPermList, 					   CLASSNAME_PROPERTY_PERMISSION);		// +     addPermissions(grant, _reflectPermList, CLASSNAME_REFLECT_PERMISSION);		addPermissions(grant, _runtimePermList, CLASSNAME_RUNTIME_PERMISSION);		addPermissions(grant, _securityPermList, 					   CLASSNAME_SECURITY_PERMISSION);		// +     addPermissions(grant, _serializablePermList, CLASSNAME_SERIALIZABLE_PERMISSION);		addPermissions(grant, _allPermList, CLASSNAME_ALL_PERMISSION);		addPermissions(grant, _agletPermList, CLASSNAME_AGLET_PERMISSION);		addPermissions(grant, _messagePermList, CLASSNAME_MESSAGE_PERMISSION);		addPermissions(grant, _contextPermList, CLASSNAME_CONTEXT_PERMISSION);		// -     addPermissions(grant, _threadPermList, CLASSNAME_THREAD_PERMISSION);		// #     addPermissions(grant, _activityPermList, CLASSNAME_ACTIVITY_PERMISSION);		addPermissions(grant, _agletProtList, CLASSNAME_AGLET_PROTECTION);		addPermissions(grant, _messageProtList, CLASSNAME_MESSAGE_PROTECTION);	}	void addPermissions(PolicyGrant grant, List list, String className) {		if (grant == null) {			return;		} 		final int num = list.getItemCount();		int idx = 0;		for (idx = 0; idx < num; idx++) {			final String item = list.getItem(idx);			PolicyPermission permission = 				PermissionPanel.toPermission(className, item);			if (permission != null) {				grant.addPermission(permission);			} 		} 	}	/*	 * add permissions into list	 */	void addPermissions(EditListPanel elp, String className) {		if (grant == null) {			return;		} 		Enumeration permissions = grant.getPermissions(className);		while (permissions.hasMoreElements()) {			Object obj = permissions.nextElement();			if (obj instanceof PolicyPermission) {				PolicyPermission permission = (PolicyPermission)obj;				Vector args = new Vector();				final String target = permission.getTargetName();				final String actions = permission.getActions();				final boolean t = target != null &&!target.equals("");				final boolean a = actions != null &&!actions.equals("");				if (t || a) {					args.addElement(target);				} 				if (a) {					args.addElement(actions);				} 				elp.addItemIntoList(args);			} 		} 	}	private BorderPanel getBorderPanel(String label) {		return new BorderPanel(" " + label + " ");	}	// get permission class name	private static String getClassName(String label) {		if (label == null) {			return null;		} 		String className = null;		if (label.equals(LABEL_FILE_PERMISSION)) {			className = CLASSNAME_FILE_PERMISSION;		} else if (label.equals(LABEL_SOCKET_PERMISSION)) {			className = CLASSNAME_SOCKET_PERMISSION;		} else if (label.equals(LABEL_AWT_PERMISSION)) {			className = CLASSNAME_AWT_PERMISSION;		} else if (label.equals(LABEL_NET_PERMISSION)) {			className = CLASSNAME_NET_PERMISSION;		} else if (label.equals(LABEL_PROPERTY_PERMISSION)) {			className = CLASSNAME_PROPERTY_PERMISSION;		} else if (label.equals(LABEL_REFLECT_PERMISSION)) {			className = CLASSNAME_REFLECT_PERMISSION;		} else if (label.equals(LABEL_RUNTIME_PERMISSION)) {			className = CLASSNAME_RUNTIME_PERMISSION;		} else if (label.equals(LABEL_SECURITY_PERMISSION)) {			className = CLASSNAME_SECURITY_PERMISSION;		} else if (label.equals(LABEL_SERIALIZABLE_PERMISSION)) {			className = CLASSNAME_SERIALIZABLE_PERMISSION;		} else if (label.equals(LABEL_ALL_PERMISSION)) {			className = CLASSNAME_ALL_PERMISSION;		} else if (label.equals(LABEL_AGLET_PERMISSION)) {			className = CLASSNAME_AGLET_PERMISSION;		} else if (label.equals(LABEL_MESSAGE_PERMISSION)) {			className = CLASSNAME_MESSAGE_PERMISSION;		} else if (label.equals(LABEL_CONTEXT_PERMISSION)) {			className = CLASSNAME_CONTEXT_PERMISSION;			// -     } else if(label.equals(LABEL_THREAD_PERMISSION)) {			// -       className = CLASSNAME_THREAD_PERMISSION;			// #     } else if(label.equals(LABEL_ACTIVITY_PERMISSION)) {			// #       className = CLASSNAME_ACTIVITY_PERMISSION;		} else if (label.equals(LABEL_AGLET_PROTECTION)) {			className = CLASSNAME_AGLET_PROTECTION;		} else if (label.equals(LABEL_MESSAGE_PROTECTION)) {			className = CLASSNAME_MESSAGE_PROTECTION;		} 		return className;	}	/*	 * Handles the events	 */	public void itemStateChanged(ItemEvent ev) {		layout.show(setting_panel, 					(String)ev.getItemSelectable().getSelectedObjects()[0]);	}	/*	 * setup General Permission Panel	 */	void setupGeneralPermissionPanel(BorderPanel panel, List list, 									 PermissionEditor editor, 									 String className) {		GridBagConstraints cns = new GridBagConstraints();		cns.weightx = 1.0;		cns.weighty = 1.0;		cns.fill = GridBagConstraints.BOTH;		cns.ipadx = cns.ipady = 3;		cns.insets = panel.topInsets();		cns.insets.bottom = panel.bottomInsets().bottom;		panel.setConstraints(cns);		cns.weighty = 0.1;		EditListPanel elp = new EditListPanel(null, list, editor);		panel.add(elp, GridBagConstraints.REMAINDER, 1.0);		cns.insets.top = 0;		cns.fill = GridBagConstraints.HORIZONTAL;		cns.weighty = 0.0;		panel.add(editor, GridBagConstraints.REMAINDER, 0.1);

⌨️ 快捷键说明

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