首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 2.0 自訂安全憑證管理系統實戰篇:Web Service 包裝 Provider

     編輯:關於ASP.NET

架構設計:契約優先的 Web Service

採用 介面契約優先 設計:定義 IApplicationManager、IMembershipManager、IPasswordManager、IRoleManager、IUserManager 五大介面,以 [WebServiceBinding]、[WebMethod] 標記暴露為 Web Service。實作類別繼承介面,編譯器強制完整實作所有方法。

介面與 Shim 類別模式

介面無法直接加 [WebService] 屬性,需建立抽象 Shim 類別繼承介面,標記 [WebService],再以 .asmx 檔案指向 Shim 類別暴露 WSDL。客戶端可用 wsdl.exe /serverInterface 產生 Proxy。

[WebService(Name="IApplicationManager", Namespace="https://CredentialsServices")]
abstract class IApplicationManagerShim : IApplicationManager {
    public abstract void DeleteApplication(string application);
    public abstract string[] GetApplications();
    public abstract void DeleteAllApplications();
}
// IApplicationManager.asmx
// <%@ WebService Language="C#" CodeBehind="~/App_Code/IApplicationManagerShim.cs" Class="IApplicationManagerShim" %>

事務與安全性

  • 所有存取憑證存儲的方法標記 [WebMethod(TransactionOption=TransactionOption.Required)],確保刪除應用程式等複雜操作的原子性。
  • Web Service 部署於內網/受信任網段,搭配 Windows 整合驗證或客戶端憑證保護管理介面。

Windows Forms 管理客戶端

消費 Web Service,提供豐富 UI:應用程式管理、使用者/角色 CRUD、密碼原則設定、解鎖帳號、批次匯入等。介面與實作解耦,未來可替換為 WCF/gRPC 服務無需調整客戶端邏輯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved