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

📄 authenticationhandler.java

📁 OA典型例子
💻 JAVA
字号:
package com.sure.soapserver;
import  java.util.*;
import  org.apache.axis.handlers.BasicHandler;
import  org.apache.axis.security.*;
import  org.apache.axis.security.simple.*;
import  org.apache.axis.utils.Messages;
import  org.apache.axis.*;

//此handler的目的是对用户认证,只有认证的用户才能访问目标服务。
public class AuthenticationHandler extends BasicHandler
{

 /**
  * invoke,每一个handler都必须实现的方法。
  */
  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异常。
      AuthenticatedUser authUser = provider.authenticate(msgContext);
      if (authUser == null) {
        throw new  AxisFault("Server.Unauthenticated",Messages.getMessage("cantAuth01", userId), null,null);
      }
      //用户通过认证,把用户的设置成认证了的用户。
      msgContext.setProperty("authenticatedUser", authUser);
    }
  }
}

⌨️ 快捷键说明

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