accesscontroller.java
来自「This is a resource based on j2me embedde」· Java 代码 · 共 160 行
JAVA
160 行
/* * Copyright 1990-2007 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version * 2 only, as published by the Free Software Foundation. * * 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 version 2 for more details (a copy is * included at /legal/license.txt). * * You should have received a copy of the GNU General Public License * version 2 along with this work; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA * * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa * Clara, CA 95054 or visit www.sun.com if you need additional * information or have any questions. */package com.sun.j2me.security;/** * The AccessController class is used for access control operations * and decisons. This is class is used by code that must compile in a * MIDP 2.0 environment. If code only needs to compile under a CDC or MIDP 3.0 * environment, it should not use this API. * <p> * This API does not specify the names used to identify permissions, the * policy behind the API should use the standard names in JSR specifications * to identify permissions. Manufacturer API names should be specified in the * documentation for that API so the policy maker can accomidate them. */public final class AccessController { /** * JTWI, MIDP 2.1, and MSA, have restrictions based if a suite is * "trusted" suites this permission is given to those suites. */ public static final String TRUSTED_APP_PERMISSION_NAME = "com.sun.j2me.trustedApp"; /** Access control context for the application running in this isolate. */ private static AccessControlContext context; /** * Don't allow anyone to instantiate an AccessController */ private AccessController() { } /** * Called to set the access control context for the application running * in this isolate. * * @param accessControlContext access control context for the application * running in the isolate * * @exception SecurityException if the context is already set */ public static void setAccessControlContext( AccessControlContext accessControlContext) { if (context != null) { throw new SecurityException("context already set"); } context = accessControlContext; } /** * Returns the access control context for the running application. * * @exception SecurityException if context has not been set yet */ public static AccessControlContext getAccessControlContext() { if (context == null) { throw new SecurityException("Context not set"); } return context; } /** * Determines whether the access request indicated by the * specified permission should be allowed or denied, based on * the security policy currently in effect. * This method quietly returns if the access request * is permitted, or throws a suitable SecurityException otherwise. * May block to ask the user a question. * <p> * If the permission check failed because an InterruptedException was * thrown, this method will throw a InterruptedSecurityException. * * @param name name of the requested permission * * @exception SecurityException if the specified permission * is not permitted, based on the current security policy */ public static void checkPermission(String name) throws SecurityException { checkPermission(name, null); } /** * Check for permission and throw an exception if not allowed. * May block to ask the user a question. * <p> * If the permission check failed because an InterruptedException was * thrown, this method will throw a InterruptedSecurityException. * * @param name name of the requested permission * * @param resource string to insert into the question, can be null if * no %2 in the question * * @param name name of the requested permission * * @exception SecurityException if the specified permission * is not permitted, based on the current security policy */ public static void checkPermission(String name, String resource) throws SecurityException { checkPermission(name, resource, null); } /** * Checks for permission and throw an exception if not allowed. * May block to ask the user a question. * <p> * If the permission check failed because an InterruptedException was * thrown, this method will throw a InterruptedSecurityException. * * @param name ID of the permission to check for, * the ID must be from * {@link com.sun.midp.security.Permissions} * @param resource string to insert into the question, can be null if * no %2 in the question * @param extraValue string to insert into the question, * can be null if no %3 in the question * * @param name name of the requested permission * * @exception SecurityException if the specified permission * is not permitted, based on the current security policy */ public static synchronized void checkPermission(String name, String resource, String extraValue) throws SecurityException { if (context == null) { throw new SecurityException("no security context set"); } context.checkPermission(name, resource, extraValue); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?