1. 程式人生 > >AXIS2 訪問控制的 BASIC認證說明

AXIS2 訪問控制的 BASIC認證說明

在進行資料同步的時候,有時候要呼叫一些系統自己開發的webservice,但是有些開發商為了專案進度並沒有考慮安全問題。其實採取採取基於使用者名稱和密碼的訪問控制,從實現上也是很方便的。參考網上資料,基本思路是

1 首先啟用容器的訪問控制功能;

2 客戶端在呼叫web 服務的時候,增加basic認證的引數。

具體操作步驟如下:

首先按照這篇文章測試好客戶端程式碼和web服務。

為了給wsdl的訪問增加使用者認證,需要在container,比如tomcat 裡面增加如下內容。


   <security-constraint>
      <display-name>Example Security Constraint</display-name>
      <web-resource-collection>
         <web-resource-name>Protected Area</web-resource-name>
  <!-- Define the context-relative URL(s) to be protected此處說明要保護的url是SimpleService下面的內容 -->
         <url-pattern>/services/SimpleService/*</url-pattern> 
   
  <!-- If you list http methods, only those methods are protected -->
  <http-method>DELETE</http-method>
         <http-method>GET</http-method>
         <http-method>POST</http-method>
  <http-method>PUT</http-method>
      </web-resource-collection>
      <auth-constraint>
         <!-- Anyone with one of the listed roles may access this area,此處是tomcat-users裡面定義的角色 -->
         <role-name>tomcat</role-name>
  <role-name>role1</role-name>
      </auth-constraint>
    </security-constraint>

    <!-- Default login configuration uses form-based authentication ,認證方法,目前測試form 認證無法通過客戶端呼叫-->
    <login-config>
      <auth-method>BASIC</auth-method>
      <realm-name>Example  Authentication Area</realm-name>
     <!-- <form-login-config>
        <form-login-page>/axis2-web/loginservice.jsp</form-login-page>
        <form-error-page>/axis2-web/errorservice.jsp</form-error-page>
      </form-login-config> -->
    </login-config>
        
    <!-- Security roles referenced by this web application -->
    <security-role>
      <role-name>role1</role-name>
    </security-role>
    <security-role>
      <role-name>tomcat</role-name>
    </security-role>

三 在tomcat-users.xml裡面設定 角色和賬戶

<role rolename="role1"/>
 <user username="role1" password="role1" roles="role1"/>

四 在server.xml裡面檢查Resource 和Realm的resourceName設定,此處不用修改,預設就是讀取tomcat-users.xml 的資料。

五 參考步驟一的實驗環境裡面rpcclientservice的程式碼,增加如下內容

HttpTransportProperties.Authenticator basicAuthentication = new HttpTransportProperties.Authenticator(); 
        basicAuthentication.setPassword("role1");         
        basicAuthentication.setUsername("role1");
        //basicAuthentication.setHost("localhost");
        //basicAuthentication.setDomain("localhost");
        options.setProperty(HTTPConstants.AUTHENTICATE ,basicAuthentication);

並對qname 等屬性按照實際情況進行調整,就可以通過basic 的認證方式直接呼叫wsdl的功能。

總結:在企業內部使用web服務的方式進行資料同步時,不應該不加認證的去訪問服務。如果採用ws-security 之類的方式比較困難的話,那麼利用容器提供的訪問控制功能,也能在要求不高的前提下很快實現一定的安全性。相關資料還可以參考

P.S. 在ibm 的tdi 的一個webservice 函式元件裡面,也提供了對basic 認證的設定。

相關推薦

AXIS2 訪問控制BASIC認證說明

在進行資料同步的時候,有時候要呼叫一些系統自己開發的webservice,但是有些開發商為了專案進度並沒有考慮安全問題。其實採取採取基於使用者名稱和密碼的訪問控制,從實現上也是很方便的。參考網上資料,基本思路是 1 首先啟用容器的訪問控制功能; 2 客戶端在呼叫web 服務的

Azure ARM (16) 基於角色的訪問控制 (Role Based Access Control, RBAC) - 使用默的Role

not 問控制 https 所有 嘗試 介紹 admin ima 服務管理   《Windows Azure Platform 系列文章目錄》   今天上午剛剛和客戶溝通過,趁熱打鐵寫一篇Blog。   熟悉Microsoft Azure平臺的讀者都知道,在

AXIS2訪問許可權控制利用TOMCAT使用者

1.找到TOMCAT安裝目錄,找到CONFIG資料夾,查詢到Tomcat_Home\conf\tomcat-users.xml檔案,新增角色 <?xml version='1.0' encoding='utf-8'?> <tomcat-users>

四.Jenkins的授權和訪問控制

區別 ima 配置 項目 uil build 存在 檢查 lob 默認的Jenkins不包含任何的安全檢查,任何人可以修改Jenkins設置,job和啟動build等。在多人使用的時候,顯然會存在比較大的安全風險,所以需要配置Jenkins的授權和訪問控制。 【系統管理】-

Cisco之訪問控制列表(ACL)

cisco acl 訪問控制列表(ACL)是應用在路由器接口的指令列表(即規則),這些規則表用來告訴路由器,哪些數據包可以接收,哪些包需要拒絕。其基本原理如下:ACL使用包過濾技術,在路由器上讀取OSI七層模型的第三層和第四層包頭中的信息,如源地址、目的地址、源端口、目的端口等,根據預先定義的規則,對包

vsftpd實例:匿名訪問共享+系統用戶訪問控制

vsftp 匿名訪問 ftp server 實名訪問 FTP環境實例: 某公司由於業務發展需求,現需要在公司內部搭建一臺FTP服務器!該公司有數個部門(IT FD HR)和N名員工(fus1 fus2 fus3 fus4 fus5 fus6 fus7 fus8 fus9)使用該服務器!為了保障

關於Apacheserver的訪問控制

str rec pac 返回 cond 指令 們的 定義 write Apache的訪問控制指對不論什麽資源的不論什麽方式的訪問控制。 一、基於主機或者IP地址的控制 這樣的訪問控制基於訪問者的主機名或者IP地址,通過使用 Deny 和 Allow 指令。實現同意或者禁

Spring Security應用開發(16)基於表達式的訪問控制

member font pan 地址 使用 基於 spa 數組 express 1.1.1. 通用表達式 Spring Security 使用基於Spring EL的表達式來進行訪問控制。內置的表達式如下表所示: 表達式 描述 hasRole(ro

Apache訪問控制

apache訪問控制Apache訪問控制在前面我們更改httpd.conf的時候已經出現了allow,deny這兩個關鍵詞,其實這節最核心的東西就是這兩個。首先舉個例子Order deny,allowdeny form allallow form 127.0.0.1我們判斷的依據是這樣的:1.刊Order後面

RH134-6 使用訪問控制列表限制文件訪問

rhce第六章、使用訪問控制列表限制文件訪問 6.1、 ACL訪問控制列表概述 實現更多的權限控制,可以同時針對多個不同的用戶、組進行權限設定 ext2,ext3,ext4文件系統掛載的時候需要使用acl選項,xfs默認就支持. 設定acl只能是roo

Apache2.4使用require指令進行訪問控制–允許或限制IP訪問/通過User-Agent禁止不友好網絡爬蟲

被拒絕 pid apach res 禁止 阻止 加載 -s case 從Apache2.2升級到Apache2.4後,發現原來用來限制部分IP和垃圾網絡爬蟲的訪問控制規則不起作用,查詢後才發現,Apache2.4中開始使用mod_authz_host這個新的模塊來進行訪問控

Nginx基於用戶名和密碼的訪問控制

密碼 nginx 用戶名 1 安裝相關包yum install -y httpd-tools2 創建校驗文件htpasswd -cb /etc/nginx/.htpasswd user1 ‘passwd1‘ chown nginx:nginx /etc/nginx/.htpasswd chmod

linux acl訪問控制列表系統整理

acl mask 權限掩碼 acl######文件的訪問控制(acl)##########################

Java類的設計----訪問控制

println tro 進行 log 舉例 oid 訪問 pub img 訪問控制 可以對Java類中定義的屬性和方法進行訪問控制----規定不同的保護等級: public、protected、default、private //僅在類的內部可以訪問. priva

LAMP-防盜鏈與訪問控制

lamp一、防盜鏈 有時候,網站的流量會異常龐大。經過觀察,會發現一些靜態的圖片等元素被盜用了。使用防盜鏈,可以防止元素被外鏈。通過限制referer能實現防盜鏈的功能。1)配置虛擬主機[[email protected]/* */ ~]# vi /usr/local/apache2.4/c

[Nginx]用Nginx實現與應用結合的訪問控制 - 防盜鏈

計算公式 index user use 鏈接 vtk 兩個 link img 應用場景:圖片等資源須要設置權限,如:僅僅有認證過的用戶才幹訪問自己的圖片。 解決的方法:使用Nginx的防盜鏈模塊http_secure_link能夠實現,該模塊默認情況下不包括。故在

運維學習之Apache的配置、訪問控制、虛擬主機和加密訪問https

linuxapache一、安裝Apache服務yum install httpd -ysystemctl start httpd systemctl stop firewalld systemctl enable httpd systemctl disable firewalld 二、apache信息1.ap

訪問控制列表ACL的配置與應用

訪問控制列表 標準acl 擴展acl 楊書凡 命名acl 訪問控制列表(Access Control List,ACL)是應用在路由器接口的指令列表(即規則)。這些指令列表用來告訴路由器,哪些數據包可以接收,哪些數據包需要拒絕。其基本原理如下:ACL使用包過濾技術,在路由器上讀取OS

Linux 訪問控制acl

linux acl設置Linux:ACL設置目錄: 1. acl設置 2. mask值 3. acl備份 4. 實例演示 1.acl設置Acl是關聯用戶和文件或目錄的訪問控制,因此對用戶而言,可以具體分為兩類,用戶和組;對文件而言可以分為文件和目錄;對繼承而言,可以分為默認繼承權限和非繼承權限,從語法上講d表

httpd-2.4實現虛擬主機、訪問控制及https功能

httpd-2.4 安全訪問 https 虛擬主機準備工作:在Centos7中安裝httpd,使用yum安裝或自己編譯安裝,建議使用yum安裝,快捷又方便。 關閉防火墻及selinux。提供兩個基於名稱的虛擬主機www1, www2;有單獨的錯誤日誌和訪問日誌;先建立虛擬主機www1a.在