Java SecurityManager checkAccess()方法与示例
Syntax:
句法:
public void checkAccess (Thread th);public void checkAccess (ThreadGroup tg);SecurityManager類的checkAccess()方法 (SecurityManager Class checkAccess() method)
checkAccess(Thread th) method is called for the current security manager by these methods of Thread class stop(), suspend(), resume(), setName() and setDaemon().
當前安全管理器的Thread類stop() , suspend() , resume() , setName()和setDaemon()這些方法將調用checkAccess(Thread th)方法 。
checkAccess(ThreadGroup tg) method is called for the current security manager to create new child thread on thread group by using these methods of ThreadGroup class like setDaemon(), stop(), resume(), suspend() and destroy().
當前的安全管理器將調用checkAccess(ThreadGroup tg)方法 ,以通過使用ThreadGroup類的這些方法(例如setDaemon() , stop() , resume() , suspend()和destroy())在線程組上創建新的子線程。
checkAccess(Thread th), checkAccess (ThreadGroup tg) methods may throw an exception at the time modification.
checkAccess(Thread th)和checkAccess(ThreadGroup tg)方法在修改時可能會引發異常。
SecurityException: This exception may throw when the calling thread is not allowed to modify Thread or ThreadGroup.
SecurityException :當不允許調用線程修改Thread或ThreadGroup時,可能引發此異常。
These methods are non-static methods, it is accessible with the class object only and, if we try to access these methods with the class name then we will get an error.
這些方法是非靜態方法,只能通過類對象訪問,如果嘗試使用類名訪問這些方法,則會收到錯誤消息。
Parameter(s):
參數:
In the first case, Thread th - This parameter represents the thread to be examined.
在第一種情況下, Thread th-此參數表示要檢查的線程。
In the second case, ThreadGroup tg - This parameter represents the thread group to be examined.
在第二種情況下, ThreadGroup tg-此參數表示要檢查的線程組。
Return value:
返回值:
The return type of this method is void, it returns nothing.
此方法的返回類型為void ,不返回任何內容。
Example:
例:
// Java program to demonstrate the example // of checkAccess () method of SecurityManager classpublic class CheckAccess extends SecurityManager {// Override checkAcess(Thread th) of SecurityManager classpublic void checkAccess(Thread th) {throw new SecurityException("Restricted...");}// Override checkAcess(ThreadGroup tg) of SecurityManager //classpublic void checkAccess(ThreadGroup tg) {throw new SecurityException("Restricted...");}public static void main(String[] args) {ThreadGroup tg1 = new ThreadGroup("New Thread Group");// By using setProperty() method is to set the policy property // with security managerSystem.setProperty("java.security.policy", "file:/C:/java.policy");// Instantiating a CheckAccept objectCheckAccess ca = new CheckAccess();// By using setSecurityManager() method is to set the// security managerSystem.setSecurityManager(ca);// By using checkAccess(Thread th) method is to check that// current thread is enabled for access or notca.checkAccess(Thread.currentThread());// By using checkAccess(ThreadGroup tg) method is to check // that current thread group is enabled for access or notca.checkAccess(tg1);// Display the message when thread is enabledSystem.out.println("Not Restricted..");} }Output
輸出量
Exception in thread "main" java.lang.SecurityException: Restricted...at CheckAccess.checkAccess(CheckAccess.java:5)at CheckAccess.main(CheckAccess.java:30)翻譯自: https://www.includehelp.com/java/securitymanager-checkaccess-method-with-example.aspx
總結
以上是生活随笔為你收集整理的Java SecurityManager checkAccess()方法与示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工作中常用的 6 种设计模式!
- 下一篇: SpringBoot实现Excel导入导