jaasclient.java

来自「本书以大量精简的实例介绍了Java安全性编程方面的概念和技术」· Java 代码 · 共 37 行

JAVA
37
字号
import java.util.Iterator;
import java.security.PrivilegedAction;
import javax.security.auth.Subject;
import javax.security.auth.login.LoginContext;

public class JAASClient {
  public static void main(String [] args) {
    try {
      loginAndDoSomething();
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }
  public static void loginAndDoSomething() throws
                                        Exception {
    LoginContext ctx = new
                       LoginContext("SimpleLogin");
    ctx.login();
    Subject subj = ctx.getSubject();
    System.out.println("Login assigned these principals: ");
    Iterator it = subj.getPrincipals().iterator(); 
    while (it.hasNext()) 
        System.out.println("\t" + it.next());
    
    Subject.doAs(subj, new PrivilegedAction() {
        public Object run() {
          System.out.println("You live at " + 
                   System.getProperty("user.home"));
          return null;
        }
      });
    ctx.logout();
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?