2010-12-01 96 views
0

我正在開發一個DLL項目,使數據庫服務器事務,唯一的問題是,必須是一個獨立的DLL,它需要一個登錄屏幕,如果沒有找到任何以前信息。這個登錄屏幕需要用C#編寫,就像Windows應用程序一樣。登錄窗口上的DLL C#項目

任何想法將非常apreciatted。

在此先感謝

回答

3

這不是那種事情,你通常會放入一個DLL。登錄屏幕將取決於實施用戶界面。您最好創建一個數據訪問類,它實現了一個接口,該接口具有實現爲屬性所需的登錄憑證。這允許任何消費應用程序(網絡,的WinForms,WPF,等等)來創建一個登錄界面或通過直接憑據數據類:

public interface IMyDataInterface 
{ 
    string loginUser { get; set; } 
    string loginPW { get; set; } 
} 

public class MyDataLayer : IMyDataInterface 
{ 
    public MyDataLayer(string login, string pw) 
    { 
     loginUser = login; 
     loginPW = pw; 
    } 
} 

使用界面忠實地保證任何暴露數據層具有相同的實現基礎知識消費應用程序

編輯,以反映更安全的方法:(由@克里斯主意)

using System.Net; 

public interface IMyDataInterface 
{ 
    NetworkCredential credentials { get; set; } 
} 

public class MyDataLayer : IMyDataInterface 
{ 
    public MyDataLayer(NetworkCredential loginInfo) 
    { 
     credentials = loginInfo; 
    } 
} 

的構造可以被重載以包括提供證書的多個方法,但SecureString類應用於包含所有通話密碼。

+1

只是建議:使用NetworkCredential類型的屬性而不是字符串作爲用戶名和密碼。 NetworkCredential類在內部將密碼存儲爲SecureString,所以默認情況下它更安全,並且還被許多需要驗證的內部.NET類使用。 – Chris 2010-12-01 13:52:37