不管Axis部署在哪种服务器上(Tomcat还是Websphere),它总是以Servlet方式来运行的。所以最简单实现Web服务安全就是通过在Web应用的配置文件(web.xml)来实现访问控制。
J2EE web应用中有多种认证方式:BASIC(基本认证方法)、FORM(基于表单)、DIGEST(消息摘要)和CLIENT-CERT(数字证书)。此处只说明最基本的认证方式。例如在Tomcat配置如下:
1. 首先在Tomcat角色配置文件中增加一个角色和一个帐号。在tomcat-users.xml中增加角色(Tomcat_Home\conf\tomcat-users.xml)。
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
…
<role rolename="department-manager"/>
<user username="admin" password="simplewebservices" roles="department-manager"/>
…
</tomcat-users>
2.添加了一个department-manager角色,并在此角色中添加了一个名为hellking的用户。要使tomcat-users.xml中配置的角色和用户生效,需要配置tomcat使用UserDatabaseRealm。打开Tomcat_Home\conf\server.xml配置文件,在GlobalNamingResources中添加以下描述:
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved">
</Resource>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>
</GlobalNamingResources>
2. 再web应用的部署描述符中指定Web服务资源的访问控制,如下所示:
<security-constraint>
<web-resource-collection>
<web-resource-name>Tax Web service </web-resource-name>
<url-pattern>/services/PersonalTaxService</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>department-manager</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Axis Basic Authentication Area</realm-name>
</login-config>
<security-role>
<role-name>department-manager</role-name>
</security-role>
url-pattern指定了需要通过角色验证的URL样式,在这里是"/services/PersonalTaxService";role-name是能够访问制定URL的角色,这里是department-manager。以上配置的意思是只有角色类型是"department-manager"的用户才能访问URL样式为"/services/PersonalTaxService"Web服务。
3. Axis客户端的编写。
call.getMessageContext().setUsername("hellking");//设置用户名
call.getMessageContext().setPassword("simplewebservices");//设置密码
分享到:
相关推荐
基于idea开发的简单webservice接口实例,test1为服务端配置了webserivice接口;test2为客户端,通过AXIS方式访问接口,Soap方式服务端能接收到请求信息,但客户端返回信息警告,有兴趣的可以研究一下;带AXIS和soap...
WebService安全性SoapHeader 运行环境 VS2010
SAP PI 调用外部接口webservice服务 SAP PI 配置
.NET Webservice Studio是一种以交互方式调用Web方法的工具。 用户可以提供WSDL端点。 单击按钮获取工具获取WSDL,从WSDL生成.NET代理并显示可用方法列表。 用户可以选择任何方法并提供所需的输入参数。 在单击...
HTTP接口和WebService接口
勤哲Excel服务器WebService接口说明
这是本人写的一个基于WebService的Java项目,采用Spring框架,实现了对远程数据的访问,教你怎样配置和访问WebService服务器,让你不再为写数据访问接口而烦恼。下载解压后直接导入MyEclipse中,启动Tomcat服务器,...
springmvc配置webservice服务的例子,下载直接可以运行,可以参考java的webservice服务的配置
.net调用webservice接口例子.net调用webservice接口例子.net调用webservice接口例子.net调用webservice接口例子
webservice接口调用实例,经个人验证可用
在网上找了很久的资料,接口已经跟客户对接,特编写了代码文档和附带jar包,并含其他网站的参考地址,注意jdk环境要1.6或以上版本
纯java调用ws-security+CXF实现的webservice安全接口
labview调用webservice访问远程数据1
.net webservice,webservice,web服务,.net web服务
泛微OA系统工作流WebService接口使用说明.doc,含调用实例.....................................................................................................................................................
使用C#创建webservice服务,并使用服务接口得到C#动态库。然后可以使用C++程序调用
Andriod访问WebService和Servlet.zip
接口访问微软CRM提供的WEBSERVICE,并开发自己的WEBSERVICE供客户端软件访问
java开发过程中,很多地方都会遇到数据传递,远程获取数据问题,我这个简单的webservice接口发布可以在java开发过程中,很多地方都会遇到数据传递,远程获取数据问题,我这个简单的webservice接口发布可以在
1.概述 2.接入说明 3.接口方法概述 4.接口方法详述 4.1.接口方法1(Test1) 4.2.接口方法2(Test2) 4.3.接口方法3(Test3) 5.代码映射表 5.1. 代码表1 5.2. 代码表2 5.3. 代码表3