myprivilegedaction.java
来自「精通Java核心技术源代码」· Java 代码 · 共 35 行
JAVA
35 行
// ==================== Program Discription ==========================
// 程序名称:示例20-4 : MyPrivilegedAction.java
// 程序目的:程序性授权
// ==============================================================
import java.io.*;
import java.security.*;
import javax.security.auth.*;
import javax.security.auth.login.*;
import java.util.*;
import com.sun.enterprise.security.*;
public class MyPrivilegedAction implements PrivilegedAction
{
public Object run() {
// Get the passed in subject from the DoAs
AccessControlContext context = AccessController.getContext();
Subject subject = Subject.getSubject( context );
if (subject == null ) {
throw new AccessControlException("Denied");
}
// Iterate through the principal set looking for sa
Set principals = subject.getPrincipals();
Iterator iterator = principals.iterator();
while (iterator.hasNext()) {
PrincipalImpl principal = (PrincipalImpl)iterator.next();
if (principal.getName().equals( "sa" )) {
System.out.println("sa has Payroll access\n");
return new Integer(0);
}
}
throw new AccessControlException("Denied");
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?