⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 authcallbackhandler.java

📁 一个用struts tiles的在线影院web系统
💻 JAVA
字号:
package com.blue.web.security.jaas;

import java.io.IOException;

import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.callback.NameCallback;
import javax.security.auth.callback.PasswordCallback;
import javax.security.auth.callback.TextOutputCallback;
import javax.security.auth.callback.UnsupportedCallbackException;

public class AuthCallbackHandler implements CallbackHandler {
    private String name = null;
	private String password = null;

	public AuthCallbackHandler(String name, String password){
		super();
		this.name = name;
		this.password = password;
	}

	public void handle(Callback[] callbacks) throws IOException,
			UnsupportedCallbackException {
		System.out.println("AuthCallbackHandler.handle()");
		for (int i = 0; i < callbacks.length; i++) {
			if (callbacks[i] instanceof TextOutputCallback) {
				TextOutputCallback textOutputCallback = (TextOutputCallback) callbacks[i];
				switch (textOutputCallback.getMessageType()) {
				case TextOutputCallback.INFORMATION :
					System.out.println(textOutputCallback.getMessage());
					break;
				case TextOutputCallback.ERROR:
					System.out.println("ERROR: " + textOutputCallback.getMessage());
					break;
				case TextOutputCallback.WARNING:
					System.out.println("WARNING: " + textOutputCallback.getMessage());
					break;
				default:
					throw new IOException("Invalid message type: " + textOutputCallback.getMessageType());
				}
			} else if (callbacks[i] instanceof NameCallback) {
				// prompt the user for a userid
				NameCallback nc = (NameCallback) callbacks[i];
				nc.setName(this.name);
				System.out.println("nc.setName("+this.name+");");
			} else if (callbacks[i] instanceof PasswordCallback) {
				// prompt the user for the password
				PasswordCallback pc = (PasswordCallback) callbacks[i];
				pc.setPassword(this.password.toCharArray());
				System.out.println("pc.setPassword("+this.password+");");
			} else {
				throw new UnsupportedCallbackException(callbacks[i], "Invalid Callback");
			}
		}
	}
}

⌨️ 快捷键说明

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