Это не та вещь, которую вы обычно помещаете в DLL. Экран входа в систему будет зависеть от реализующего пользовательского интерфейса. Было бы лучше создать класс доступа к данным, который реализует интерфейс, в котором необходимые учетные данные для входа в систему реализованы в виде свойств. Это позволяет любому потребляющему приложению (web, 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;
}
}
Использование интерфейса точно гарантирует, что любой открытый слой данных имеет одинаковые основы реализации для приложений.
Изменить, чтобы отразить более безопасный метод: (идея @Chris)
using System.Net;
public interface IMyDataInterface
{
NetworkCredential credentials { get; set; }
}
public class MyDataLayer : IMyDataInterface
{
public MyDataLayer(NetworkCredential loginInfo)
{
credentials = loginInfo;
}
}
Конструктор может быть перегружен для включения нескольких методов предоставления учетных данных, но следует использовать класс SecureString для хранения пароля во всех вызовах.