2010-12-01 64 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