- Java.lang 包類
- Java.lang - 首頁
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包額外內容
- Java.lang - 介面
- Java.lang - 錯誤
- Java.lang - 異常
- Java.lang 包有用資源
- Java.lang - 有用資源
- Java.lang - 討論
Java SecurityManager checkPropertyAccess() 方法
描述
Java SecurityManager checkPropertyAccess(String key) 方法如果呼叫執行緒不允許訪問具有指定鍵名稱的系統屬性,則會丟擲 SecurityException。此方法由 System 類的 getProperty 方法使用。
此方法使用 PropertyPermission(key, "read") 許可權呼叫 checkPermission。如果覆蓋此方法,則應在覆蓋方法通常丟擲異常的位置處呼叫 super.checkPropertyAccess。
宣告
以下是 java.lang.SecurityManager.checkPropertyAccess() 方法的宣告
public void checkPropertyAccess(String key)
引數
key − 系統屬性鍵。
返回值
此方法不返回值。
異常
SecurityException − 如果呼叫執行緒沒有許可權訪問指定的系統屬性。
NullPointerException − 如果 key 引數為 null。
IllegalArgumentException − 如果 key 為空。
示例
我們的示例要求阻止每個命令的許可權。設定了一個新的策略檔案,該檔案只允許建立和設定我們的安全管理器。該檔案位於 C:/java.policy 中,包含以下文字:
grant {
permission java.lang.RuntimePermission "setSecurityManager";
permission java.lang.RuntimePermission "createSecurityManager";
permission java.lang.RuntimePermission "usePolicy";
};
以下示例演示了 lang.SecurityManager.checkPropertyAccess() 方法的使用。
package com.tutorialspoint;
public class SecurityManagerDemo extends SecurityManager {
public static void main(String[] args) {
// set the policy file as the system securuty policy
System.setProperty("java.security.policy", "file:/C:/java.policy");
// create a security manager
SecurityManagerDemo sm = new SecurityManagerDemo();
// set the system security manager
System.setSecurityManager(sm);
// perform the check
sm.checkPropertyAccess("java.runtime.name");
// print a message if we passed the check
System.out.println("Allowed!");
}
}
輸出
讓我們編譯並執行以上程式,這將產生以下結果:
Exception in thread "main" java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release at java.base/java.lang.System.setSecurityManager(System.java:430) at com.tutorialspoint.SecurityManagerDemo.main(SecurityManagerDemo.java:14)
注意 - Security Manager 自版本 17 起已棄用,並標記為將被移除。
java_lang_securitymanager.htm
廣告