阿翔编程学-Axis用户过滤服务类程序

Axis用户过滤服务类程序

//===========================================================
//用户过滤服务类程序 author:曹翔
//===========================================================

package com.ruix.service;

import org.apache.axis.AxisFault;
import org.apache.axis.MessageContext;
import org.apache.axis.handlers.BasicHandler;
import org.apache.axis.security.SecurityProvider;
import org.apache.axis.security.simple.SimpleSecurityProvider;
import org.apache.axis.utils.Messages;

/**
 * 用户过滤类
 * @author caoxiang
 * @version 1.0
 */
public class AuthenticationHandler extends BasicHandler {
 
 //序列号
 private static final long serialVersionUID = 1L;

   /**
  * invoke,每一个handler都必须实现的方法。
  * @param msgContext
 */
 public void invoke(MessageContext msgContext) throws AxisFault {
  SecurityProvider provider = (SecurityProvider) msgContext
    .getProperty("securityProvider");
  if (provider == null) {
   provider = new SimpleSecurityProvider();
   msgContext.setProperty("securityProvider", provider);
  }
  if (provider != null) {
   String userId = msgContext.getUsername();  //用户名
   String password = msgContext.getPassword();//密 码
   // 对用户进行认证,如果authUser==null,表示没有通过认证,抛出Server.Unauthenticated异常。
   org.apache.axis.security.AuthenticatedUser authUser = provider
     .authenticate(msgContext);
   if (authUser == null)
    throw new AxisFault("Server.Unauthenticated", Messages
      .getMessage("cantAuth01", userId), null, null);
   // 用户通过认证,把用户的设置成认证了的用户。
   msgContext.setProperty("authenticatedUser", authUser);
  }
 }
 
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值