appcallbackhandler.java

来自「展示使用J2EE容器实现安全机制」· Java 代码 · 共 33 行

JAVA
33
字号
package com.jdon.security.auth;

import java.io.IOException;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
import javax.security.auth.callback.*;
import javax.security.auth.login.*;

public class AppCallbackHandler implements CallbackHandler {
  private String username;
  private char[] password;

  public AppCallbackHandler(String username, char[] password) {
    this.username = username;
    this.password = password;
  }

  public void handle(Callback[] callbacks) throws
      java.io.IOException, UnsupportedCallbackException {
    for (int i = 0; i < callbacks.length; i++) {
      if (callbacks[i] instanceof NameCallback) {
        NameCallback nc = (NameCallback) callbacks[i];
        nc.setName(username);
      } else if (callbacks[i] instanceof PasswordCallback) {
        PasswordCallback pc = (PasswordCallback) callbacks[i];
        pc.setPassword(password);
      } else {
        throw new UnsupportedCallbackException(callbacks[i],
                                               "Unrecognized Callback");
      }
    }
  }
}

⌨️ 快捷键说明

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