ksafe's Blog

          年輕人就得勤快點。。。

          BlogJava 聯系 聚合 管理
            1 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks
          <? xml?version="1.0"?encoding="UTF-8" ?>
          < web-app? xmlns ="http://java.sun.com/xml/ns/j2ee"
          ????xmlns:xsi
          ="http://www.w3.org/2001/XMLSchema-instance" ?version ="2.4"
          ????xsi:schemaLocation
          ="http://java.sun.com/xml/ns/j2ee???http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >
          ????
          < servlet >
          ????????
          < display-name > XFire?Servlet </ display-name >
          ????????
          < servlet-name > XFireServlet </ servlet-name >
          ????????
          < servlet-class >
          ????????????org.codehaus.xfire.transport.http.XFireConfigurableServlet
          ????????
          </ servlet-class >
          ????
          </ servlet >

          ????
          < servlet-mapping >
          ????????
          < servlet-name > XFireServlet </ servlet-name >
          ????????
          < url-pattern > /servlet/XFireServlet/* </ url-pattern >
          ????
          </ servlet-mapping >

          ????
          < servlet-mapping >
          ????????
          < servlet-name > XFireServlet </ servlet-name >
          ????????
          < url-pattern > /services/* </ url-pattern >
          ????
          </ servlet-mapping >
          </ web-app >
          < beans? xmlns ="http://xfire.codehaus.org/config/1.0" >
          < service >
          < name > EchoService </ name >
          < serviceClass > com.hhy.dss.ws.Echo </ serviceClass >
          < serviceFactory > jsr181 </ serviceFactory >
          < inHandlers >
          < handler? handlerClass ="com.hhy.dss.ws.AuthenticationHandler" ></ handler >
          </ inHandlers >
          </ service >
          </ beans >
          package ?com.hhy.dss.ws;

          import ?javax.jws.WebMethod;
          import ?javax.jws.WebService;

          @WebService
          public ? class ?Echo
          {
          ????@WebMethod
          ????
          public ?String?echo(String?in)
          ????
          {
          ????????
          return ?in;
          ????}


          }
          package ?com.hhy.dss.ws;

          import ?org.apache.log4j.Logger;
          import ?org.codehaus.xfire.MessageContext;
          import ?org.codehaus.xfire.exchange.InMessage;
          import ?org.codehaus.xfire.fault.XFireFault;
          import ?org.codehaus.xfire.handler.AbstractHandler;
          import ?org.jdom.Element;

          public ? class ?AuthenticationHandler? extends ?AbstractHandler? {
          ????
          private ? static ? final ?Logger?log? = ?Logger
          ????????????.getLogger(AuthenticationHandler.
          class );

          ????
          public ? void ?invoke(MessageContext?context)? throws ?Exception? {

          ????????log.info(
          " #AuthenticationHandler?is?invoked " );
          ????????InMessage?message?
          = ?context.getInMessage();

          ????????
          if ?(message.getHeader()? == ? null )? {
          ????????????
          throw ? new ?XFireFault( " GetRelation?Service?Should?be?Authenticated " ,
          ????????????????????XFireFault.SENDER);
          ????????}


          ????????Element?token?
          = ?message.getHeader().getChild( " AuthenticationToken " );
          ????????
          if ?(token? == ? null )? {
          ????????????
          throw ? new ?XFireFault( " Request?must?include?authentication?token. " ,
          ????????????????????XFireFault.SENDER);
          ????????}


          ????????String?username?
          = ?token.getChild( " Username " ).getValue();
          ????????String?password?
          = ?token.getChild( " Password " ).getValue();

          ????????System.out.println(
          " username= " ? + ?username);
          ????????System.out.println(
          " password= " ? + ?password);

          ????????
          if ?(username? == ? null ? || ?password? == ? null )
          ????????????
          throw ? new ?XFireFault( " Supplied?Username?and?Password?Please " ,
          ????????????????????XFireFault.SENDER);

          ????????
          /**
          ?????????*?檢查用戶名密碼是否正確
          ?????????
          */

          ????????
          if ?( ! username.equals( " ksafe " )? || ? ! password.equals( " killer " ))
          ????????????
          throw ? new ?XFireFault(
          ????????????????????
          " Authentication?Fail!?Check?username/password " ,
          ????????????????????XFireFault.SENDER);

          ????}

          }

          posted on 2006-08-14 02:05 ksafe 閱讀(3949) 評論(1)  編輯  收藏 所屬分類: JavaEclipseWeb Service

          Feedback

          # re: 用Soap Header在Xfire中實現安全驗證(實例代碼)[未登錄] 2007-05-17 09:26 xxy
          后面還有那?麻煩也貼出來吧  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 湖北省| 龙泉市| 海宁市| 监利县| 方城县| 武强县| 铅山县| 汝南县| 安西县| 汝州市| 偏关县| 广平县| 南通市| 青浦区| 泸定县| 南充市| 育儿| 白水县| 隆回县| 宝坻区| 梁平县| 新乐市| 清原| 亚东县| 砀山县| 玉门市| 洞头县| 嵩明县| 剑河县| 蒲城县| 北京市| 固原市| 固始县| 丽水市| 灵山县| 盐津县| 泸溪县| 洛南县| 大厂| 伊宁县| 马鞍山市|