接口封裝及調用

爲了更好地讓應用系統進行調用,有的時候須要對接口進行封裝,把複雜的東西包起來,讓應用系統接口開發者感受越簡單越好。這樣你的系統才更容易被推廣或應用。好比,如今的不少在線支付接口都提供了軟件開發包。咱們也能夠經過封裝來實現接口開發包,讓開發人員簡單開發,輕鬆調用。api

1.接口封裝

咱們添加一個SSOLib類庫項目,提供對應用系統接口代碼的封裝,從而使其餘應用系統經過調用該類庫,便可實現接入認證服務中心。SSOLib類庫項目如圖18-17所示,詳細代碼請參考本書配套光盤。服務器

18-17  SSOClass類庫項目app

l   Assistant類:輔助工具類。ide

l  DESEncrypt類:加密/解密處理類。工具

l  SynPageBase類:(接收認證中心)狀態同步頁面的基類,在應用系統中建立一個空白頁面繼承該類,便可實現同步功能。this

l  ValidatePageBase類:當前應用系統驗證頁面的基類。應用系統中的任一頁面經過繼承該類,均可實現對用戶狀態的驗證功能。加密

2.應用系統調用接口開發步驟

下面看一下如何經過調用上面封裝過的類庫,來實現接入認證服務中心實現單點登陸功能。spa

1)在Web.config裏設定環境參數:繼承

<appSettings>接口

    <!--認證服務器驗證請求地址-->

    <add key="ServiceValidate" value="http://localhost:2999/Validate.aspx"/>

    <!--認證服務器域名地址-->

    <add key="ServiceUrl" value="http://localhost:2999"/>

    <!--分配給應用系統的API代碼-->

    <add key="apikey" value="642386db7bf249018117e643522d6a05"/>

    <!--是否加密傳遞 -->

    <add key="IsEncrypt" value="false"/>

    <!--加密密鑰-->

    <add key="EncryptKey" value="litianping"/>

</appSettings>

2)在Global.asax.csSession_Start添加:

protected void Session_Start(object sender, EventArgs e)

{

    this.Session.Add("UserID", 0);

    this.Session.Add("Pass", false);

    this.Session.Add("Security", "");

    this.Session.Add("Url", "");

}

3)引用組件SSOLib.DLL,如圖18-18所示。

18-18  引用組件SSOLib.DLL

4)用戶身份認證,驗證當前狀態。

將要進行驗證的頁面(AnyPage)基類由System.Web.UI.Page改成 SSOLib.ValidatePage

5)接收認證服務器的返回信息進行狀態同步。

在項目中增長一個空白頁面Synchronous.aspx,將頁面基類繼承自SSOLib.SynPageBase

6)更新認證服務器,保持Service認證服務器Session狀態。

添加一個用戶控件SynServerIFrame.ascx實現以下代碼,並拖到全部的頁面上。

<iframe width=0 height=0 src='<%= ServiceUrl%>/SessionState.aspx'></iframe>

SynServerIFrame.ascx.cs代碼以下:

public partial class SynServerIFrame : System.Web.UI.UserControl

{

    public string ServiceUrl = ConfigurationSettings.AppSettings["ServiceUrl"];

}

7)註銷當前應用系統的登陸。

Session.Clear();

Session.Abandon();

8)註銷全部應用系統的登陸。

直接轉向服務器註銷頁面便可:

Response.Redirect(ConfigurationSettings.AppSettings["ServiceUrl"] +

  "/logout.aspx");

經過上面方式的調用,應用系統的開發工做量大大減小,幾分鐘就能夠實現了。固然,這裏不單單是教給你們幾行代碼,更重要的是一種思想,一種爲客戶着想的思想。

本文節選自《項目中的.NET》一書

李天平 編著

電子工業出版社出版

相關文章
相關標籤/搜索