ksafe's Blog
年輕人就得勤快點。。。
BlogJava
聯系
聚合
管理
1 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(1)
給我留言
查看公開留言
查看私人留言
我參與的團隊
架構師之家(0/0)
隨筆分類
Eclipse(1)
Java(1)
Web Service(1)
隨筆檔案
2006年8月 (1)
搜索
最新評論
1.?re: 用Soap Header在Xfire中實現安全驗證(實例代碼)[未登錄]
后面還有那?麻煩也貼出來吧
--xxy
2006年8月14日
#
用Soap Header在Xfire中實現安全驗證(實例代碼)
<?
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 @
2006-08-14 02:05
ksafe 閱讀(3950) |
評論 (1)
|
編輯
收藏
Powered by:
BlogJava
Copyright © ksafe
主站蜘蛛池模板:
九寨沟县
|
揭西县
|
应城市
|
尉氏县
|
苍梧县
|
仁寿县
|
安仁县
|
绩溪县
|
明光市
|
修武县
|
穆棱市
|
瓦房店市
|
琼中
|
万山特区
|
宁化县
|
永春县
|
泾川县
|
双柏县
|
建阳市
|
开远市
|
松江区
|
吴旗县
|
二连浩特市
|
神池县
|
云南省
|
西安市
|
乳源
|
蛟河市
|
进贤县
|
湖南省
|
宾阳县
|
万源市
|
咸丰县
|
晋宁县
|
九龙坡区
|
安阳县
|
南召县
|
行唐县
|
麟游县
|
闽清县
|
抚宁县
|