<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FSecurity%2FSecurityManager</id>
		<title>Java/Security/SecurityManager - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FSecurity%2FSecurityManager"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Security/SecurityManager&amp;action=history"/>
		<updated>2026-04-10T12:46:16Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Security/SecurityManager&amp;diff=7611&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Security/SecurityManager&amp;diff=7611&amp;oldid=prev"/>
				<updated>2010-06-01T06:48:43Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 06:48, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Security/SecurityManager&amp;diff=7610&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Security/SecurityManager&amp;diff=7610&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:45Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Enabling the Security Manager ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    System.setProperty(&amp;quot;java.version&amp;quot;, &amp;quot;data&amp;quot;);&lt;br /&gt;
    try {&lt;br /&gt;
      SecurityManager sm = new SecurityManager();&lt;br /&gt;
      System.setSecurityManager(sm);&lt;br /&gt;
    } catch (SecurityException se) {&lt;br /&gt;
      se.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
    // no longer possible; an AccessControlException is thrown&lt;br /&gt;
    System.setProperty(&amp;quot;java.version&amp;quot;, &amp;quot;malicious data&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/*Exception in thread &amp;quot;main&amp;quot; java.security.AccessControlException: access denied (java.util.PropertyPermission java.version write)&lt;br /&gt;
  at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)&lt;br /&gt;
  at java.security.AccessController.checkPermission(AccessController.java:546)&lt;br /&gt;
  at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)&lt;br /&gt;
  at java.lang.System.setProperty(System.java:727)&lt;br /&gt;
  at Main.main(Main.java:13)&lt;br /&gt;
*/&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== extends SecurityManager ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) throws IOException {&lt;br /&gt;
    System.setSecurityManager(new MySecurityManager());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class MySecurityManager extends SecurityManager {&lt;br /&gt;
  public void checkRead(String file) {&lt;br /&gt;
    if (!(file.endsWith(&amp;quot;.txt&amp;quot;)) &amp;amp;&amp;amp; !(file.endsWith(&amp;quot;.java&amp;quot;)) &amp;amp;&amp;amp; !(file.endsWith(&amp;quot;.class&amp;quot;))&lt;br /&gt;
        &amp;amp;&amp;amp; !(file.startsWith(&amp;quot;C:\\&amp;quot;))) {&lt;br /&gt;
      throw new SecurityException(&amp;quot;No Read Permission for : &amp;quot; + file);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Listing All Permissions Granted to Classes Loaded from a URL or Directory ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.io.File;&lt;br /&gt;
import java.net.URL;&lt;br /&gt;
import java.security.CodeSource;&lt;br /&gt;
import java.security.Permission;&lt;br /&gt;
import java.security.PermissionCollection;&lt;br /&gt;
import java.security.Policy;&lt;br /&gt;
import java.security.cert.Certificate;&lt;br /&gt;
import java.util.Enumeration;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    SecurityManager sm = new SecurityManager();&lt;br /&gt;
    System.setSecurityManager(sm);&lt;br /&gt;
    URL codebase = new URL(&amp;quot;http://java.sun.ru/&amp;quot;);&lt;br /&gt;
    codebase = new File(&amp;quot;c:\\java\\&amp;quot;).toURI().toURL();&lt;br /&gt;
    codebase = new File(System.getProperty(&amp;quot;user.home&amp;quot;)).toURI().toURL();&lt;br /&gt;
    CodeSource cs = new CodeSource(codebase, (Certificate[])null);&lt;br /&gt;
    PermissionCollection pcoll = Policy.getPolicy().getPermissions(cs);&lt;br /&gt;
    Enumeration e = pcoll.elements();&lt;br /&gt;
    for (; e.hasMoreElements();) {&lt;br /&gt;
      Permission p = (Permission) e.nextElement();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Security Support ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
/*&lt;br /&gt;
 * Licensed to the Apache Software Foundation (ASF) under one&lt;br /&gt;
 * or more contributor license agreements. See the NOTICE file&lt;br /&gt;
 * distributed with this work for additional information&lt;br /&gt;
 * regarding copyright ownership. The ASF licenses this file&lt;br /&gt;
 * to you under the Apache License, Version 2.0 (the  &amp;quot;License&amp;quot;);&lt;br /&gt;
 * you may not use this file except in compliance with the License.&lt;br /&gt;
 * You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 *     http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 * Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
 * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
 * See the License for the specific language governing permissions and&lt;br /&gt;
 * limitations under the License.&lt;br /&gt;
 */&lt;br /&gt;
/*&lt;br /&gt;
 * $Id$&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
import java.io.File;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileNotFoundException;&lt;br /&gt;
import java.io.InputStream;&lt;br /&gt;
import java.security.AccessController;&lt;br /&gt;
import java.security.PrivilegedAction;&lt;br /&gt;
import java.security.PrivilegedActionException;&lt;br /&gt;
import java.security.PrivilegedExceptionAction;&lt;br /&gt;
/**&lt;br /&gt;
 * This class is duplicated for each Xalan-Java subpackage so keep it in sync.&lt;br /&gt;
 * It is package private and therefore is not exposed as part of the Xalan-Java&lt;br /&gt;
 * API.&lt;br /&gt;
 *&lt;br /&gt;
 * Base class with security related methods that work on JDK 1.1.&lt;br /&gt;
 */&lt;br /&gt;
class SecuritySupport {&lt;br /&gt;
    /*&lt;br /&gt;
     * Make this of type Object so that the verifier won&amp;quot;t try to&lt;br /&gt;
     * prove its type, thus possibly trying to load the SecuritySupport12&lt;br /&gt;
     * class.&lt;br /&gt;
     */&lt;br /&gt;
    private static final Object securitySupport;&lt;br /&gt;
    static {&lt;br /&gt;
  SecuritySupport ss = null;&lt;br /&gt;
  try {&lt;br /&gt;
      Class c = Class.forName(&amp;quot;java.security.AccessController&amp;quot;);&lt;br /&gt;
      // if that worked, we&amp;quot;re on 1.2.&lt;br /&gt;
      /*&lt;br /&gt;
      // don&amp;quot;t reference the class explicitly so it doesn&amp;quot;t&lt;br /&gt;
      // get dragged in accidentally.&lt;br /&gt;
      c = Class.forName(&amp;quot;javax.mail.SecuritySupport12&amp;quot;);&lt;br /&gt;
      Constructor cons = c.getConstructor(new Class[] { });&lt;br /&gt;
      ss = (SecuritySupport)cons.newInstance(new Object[] { });&lt;br /&gt;
      */&lt;br /&gt;
      /*&lt;br /&gt;
       * Unfortunately, we can&amp;quot;t load the class using reflection&lt;br /&gt;
       * because the class is package private.  And the class has&lt;br /&gt;
       * to be package private so the APIs aren&amp;quot;t exposed to other&lt;br /&gt;
       * code that could use them to circumvent security.  Thus,&lt;br /&gt;
       * we accept the risk that the direct reference might fail&lt;br /&gt;
       * on some JDK 1.1 JVMs, even though we would never execute&lt;br /&gt;
       * this code in such a case.  Sigh...&lt;br /&gt;
       */&lt;br /&gt;
      ss = new SecuritySupport12();&lt;br /&gt;
  } catch (Exception ex) {&lt;br /&gt;
      // ignore it&lt;br /&gt;
  } finally {&lt;br /&gt;
      if (ss == null)&lt;br /&gt;
    ss = new SecuritySupport();&lt;br /&gt;
      securitySupport = ss;&lt;br /&gt;
  }&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Return an appropriate instance of this class, depending on whether&lt;br /&gt;
     * we&amp;quot;re on a JDK 1.1 or J2SE 1.2 (or later) system.&lt;br /&gt;
     */&lt;br /&gt;
    static SecuritySupport getInstance() {&lt;br /&gt;
  return (SecuritySupport)securitySupport;&lt;br /&gt;
    }&lt;br /&gt;
    ClassLoader getContextClassLoader() {&lt;br /&gt;
  return null;&lt;br /&gt;
    }&lt;br /&gt;
    ClassLoader getSystemClassLoader() {&lt;br /&gt;
        return null;&lt;br /&gt;
    }&lt;br /&gt;
    ClassLoader getParentClassLoader(ClassLoader cl) {&lt;br /&gt;
        return null;&lt;br /&gt;
    }&lt;br /&gt;
    String getSystemProperty(String propName) {&lt;br /&gt;
        return System.getProperty(propName);&lt;br /&gt;
    }&lt;br /&gt;
    FileInputStream getFileInputStream(File file)&lt;br /&gt;
        throws FileNotFoundException&lt;br /&gt;
    {&lt;br /&gt;
        return new FileInputStream(file);&lt;br /&gt;
    }&lt;br /&gt;
    InputStream getResourceAsStream(ClassLoader cl, String name) {&lt;br /&gt;
        InputStream ris;&lt;br /&gt;
        if (cl == null) {&lt;br /&gt;
            ris = ClassLoader.getSystemResourceAsStream(name);&lt;br /&gt;
        } else {&lt;br /&gt;
            ris = cl.getResourceAsStream(name);&lt;br /&gt;
        }&lt;br /&gt;
        return ris;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    boolean getFileExists(File f) {&lt;br /&gt;
        return f.exists();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    long getLastModified(File f) {&lt;br /&gt;
        return f.lastModified();&lt;br /&gt;
    }    &lt;br /&gt;
}&lt;br /&gt;
/*&lt;br /&gt;
 * Licensed to the Apache Software Foundation (ASF) under one&lt;br /&gt;
 * or more contributor license agreements. See the NOTICE file&lt;br /&gt;
 * distributed with this work for additional information&lt;br /&gt;
 * regarding copyright ownership. The ASF licenses this file&lt;br /&gt;
 * to you under the Apache License, Version 2.0 (the  &amp;quot;License&amp;quot;);&lt;br /&gt;
 * you may not use this file except in compliance with the License.&lt;br /&gt;
 * You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 *     http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 * Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
 * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
 * See the License for the specific language governing permissions and&lt;br /&gt;
 * limitations under the License.&lt;br /&gt;
 */&lt;br /&gt;
/*&lt;br /&gt;
 * $Id$&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * This class is duplicated for each Xalan-Java subpackage so keep it in sync.&lt;br /&gt;
 * It is package private and therefore is not exposed as part of the Xalan-Java&lt;br /&gt;
 * API.&lt;br /&gt;
 *&lt;br /&gt;
 * Security related methods that only work on J2SE 1.2 and newer.&lt;br /&gt;
 */&lt;br /&gt;
class SecuritySupport12 extends SecuritySupport {&lt;br /&gt;
    ClassLoader getContextClassLoader() {&lt;br /&gt;
        return (ClassLoader)&lt;br /&gt;
                AccessController.doPrivileged(new PrivilegedAction() {&lt;br /&gt;
            public Object run() {&lt;br /&gt;
                ClassLoader cl = null;&lt;br /&gt;
                try {&lt;br /&gt;
                    cl = Thread.currentThread().getContextClassLoader();&lt;br /&gt;
                } catch (SecurityException ex) { }&lt;br /&gt;
                return cl;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
    ClassLoader getSystemClassLoader() {&lt;br /&gt;
        return (ClassLoader)&lt;br /&gt;
            AccessController.doPrivileged(new PrivilegedAction() {&lt;br /&gt;
                public Object run() {&lt;br /&gt;
                    ClassLoader cl = null;&lt;br /&gt;
                    try {&lt;br /&gt;
                        cl = ClassLoader.getSystemClassLoader();&lt;br /&gt;
                    } catch (SecurityException ex) {}&lt;br /&gt;
                    return cl;&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
    }&lt;br /&gt;
    ClassLoader getParentClassLoader(final ClassLoader cl) {&lt;br /&gt;
        return (ClassLoader)&lt;br /&gt;
            AccessController.doPrivileged(new PrivilegedAction() {&lt;br /&gt;
                public Object run() {&lt;br /&gt;
                    ClassLoader parent = null;&lt;br /&gt;
                    try {&lt;br /&gt;
                        parent = cl.getParent();&lt;br /&gt;
                    } catch (SecurityException ex) {}&lt;br /&gt;
                    // eliminate loops in case of the boot&lt;br /&gt;
                    // ClassLoader returning itself as a parent&lt;br /&gt;
                    return (parent == cl) ? null : parent;&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
    }&lt;br /&gt;
    String getSystemProperty(final String propName) {&lt;br /&gt;
        return (String)&lt;br /&gt;
            AccessController.doPrivileged(new PrivilegedAction() {&lt;br /&gt;
                public Object run() {&lt;br /&gt;
                    return System.getProperty(propName);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
    }&lt;br /&gt;
    FileInputStream getFileInputStream(final File file)&lt;br /&gt;
        throws FileNotFoundException&lt;br /&gt;
    {&lt;br /&gt;
        try {&lt;br /&gt;
            return (FileInputStream)&lt;br /&gt;
                AccessController.doPrivileged(new PrivilegedExceptionAction() {&lt;br /&gt;
                    public Object run() throws FileNotFoundException {&lt;br /&gt;
                        return new FileInputStream(file);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
        } catch (PrivilegedActionException e) {&lt;br /&gt;
            throw (FileNotFoundException)e.getException();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    InputStream getResourceAsStream(final ClassLoader cl,&lt;br /&gt;
                                           final String name)&lt;br /&gt;
    {&lt;br /&gt;
        return (InputStream)&lt;br /&gt;
            AccessController.doPrivileged(new PrivilegedAction() {&lt;br /&gt;
                public Object run() {&lt;br /&gt;
                    InputStream ris;&lt;br /&gt;
                    if (cl == null) {&lt;br /&gt;
                        ris = ClassLoader.getSystemResourceAsStream(name);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        ris = cl.getResourceAsStream(name);&lt;br /&gt;
                    }&lt;br /&gt;
                    return ris;&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    boolean getFileExists(final File f) {&lt;br /&gt;
    return ((Boolean)&lt;br /&gt;
            AccessController.doPrivileged(new PrivilegedAction() {&lt;br /&gt;
                public Object run() {&lt;br /&gt;
                    return new Boolean(f.exists());&lt;br /&gt;
                }&lt;br /&gt;
            })).booleanValue();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    long getLastModified(final File f) {&lt;br /&gt;
    return ((Long)&lt;br /&gt;
            AccessController.doPrivileged(new PrivilegedAction() {&lt;br /&gt;
                public Object run() {&lt;br /&gt;
                    return new Long(f.lastModified());&lt;br /&gt;
                }&lt;br /&gt;
            })).longValue();&lt;br /&gt;
    }&lt;br /&gt;
        &lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The security manager can be installed from the command line: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
java -Djava.security.manager MyApp&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use SecurityManager to check AWT permission and file permission ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
import java.awt.AWTPermission;&lt;br /&gt;
import java.io.FilePermission;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    SecurityManager sm = System.getSecurityManager();&lt;br /&gt;
    if (sm != null) {&lt;br /&gt;
      FilePermission fp = new FilePermission(&amp;quot;c:\\autoexec.bat&amp;quot;, &amp;quot;read&amp;quot;);&lt;br /&gt;
      sm.checkPermission(fp);&lt;br /&gt;
    }&lt;br /&gt;
    if (sm != null) {&lt;br /&gt;
      AWTPermission ap = new AWTPermission(&amp;quot;accessClipboard&amp;quot;);&lt;br /&gt;
      sm.checkPermission(ap);&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println(&amp;quot;Has AWTPermission to access AWT Clipboard&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>