Java SecurityManager checkAccess()方法与示例
Syntax:
句法:
public void checkAccess (Thread th);public void checkAccess (ThreadGroup tg);SecurityManager類(lèi)的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().
當(dāng)前安全管理器的Thread類(lèi)stop() , suspend() , resume() , setName()和setDaemon()這些方法將調(diào)用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().
當(dāng)前的安全管理器將調(diào)用checkAccess(ThreadGroup tg)方法 ,以通過(guò)使用ThreadGroup類(lèi)的這些方法(例如setDaemon() , stop() , resume() , suspend()和destroy())在線程組上創(chuàng)建新的子線程。
checkAccess(Thread th), checkAccess (ThreadGroup tg) methods may throw an exception at the time modification.
checkAccess(Thread th)和checkAccess(ThreadGroup tg)方法在修改時(shí)可能會(huì)引發(fā)異常。
SecurityException: This exception may throw when the calling thread is not allowed to modify Thread or ThreadGroup.
SecurityException :當(dāng)不允許調(diào)用線程修改Thread或ThreadGroup時(shí),可能引發(fā)此異常。
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.
這些方法是非靜態(tài)方法,只能通過(guò)類(lèi)對(duì)象訪問(wèn),如果嘗試使用類(lèi)名訪問(wèn)這些方法,則會(huì)收到錯(cuò)誤消息。
Parameter(s):
參數(shù):
In the first case, Thread th - This parameter represents the thread to be examined.
在第一種情況下, Thread th-此參數(shù)表示要檢查的線程。
In the second case, ThreadGroup tg - This parameter represents the thread group to be examined.
在第二種情況下, ThreadGroup tg-此參數(shù)表示要檢查的線程組。
Return value:
返回值:
The return type of this method is void, it returns nothing.
此方法的返回類(lèi)型為void ,不返回任何內(nèi)容。
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
總結(jié)
以上是生活随笔為你收集整理的Java SecurityManager checkAccess()方法与示例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 工作中常用的 6 种设计模式!
- 下一篇: Java LinkedList bool