public class AuthenticationHandler extends AbstractHandler {
public static ResourceBundle resourceBundle;
static {
resourceBundle = ResourceBundle.getBundle("sysParam");
}
public void invoke(MessageContext cfx) throws Exception {
if (cfx.getInMessage().getHeader() == null) {
throw new org.codehaus.xfire.fault.XFireFault("请求必须包含验证信息",
org.codehaus.xfire.fault.XFireFault.SENDER);
}
Element token = cfx.getInMessage().getHeader().getChild(
"AuthenticationToken");
if (token == null) {
throw new org.codehaus.xfire.fault.XFireFault("请求必须包含身份验证信息",
org.codehaus.xfire.fault.XFireFault.SENDER);
}
String check_usernames = resourceBundle.getString("username");
HashMap
currentUser = new HashMap
();
String check_userName [] = check_usernames.split(",");
for(String _s : check_userName){
curr
webservice 查询时校验用户名及其IP
最新推荐文章于 2015-07-14 21:49:20 发布
该博客介绍了一个Webservice调用时的认证处理类,通过AbstractHandler扩展实现。内容涉及检查请求头中的AuthenticationToken,从中获取用户名和密码进行验证。使用ResourceBundle读取配置的合法用户名和密码,同时验证请求的IP是否在允许的范围内,防止非法访问。如果验证失败,会抛出XFireFault异常。
摘要由CSDN通过智能技术生成