Окно входа в проект dll C # - PullRequest
       4

Окно входа в проект dll C #

0 голосов
/ 01 декабря 2010

Я разрабатываю проект DLL, который выполняет транзакции с сервером базы данных, единственная проблема заключается в том, что это должна быть независимая DLL, и она должна запросить экран входа в систему, если не было найдено никакой предыдущей информации.Этот экран входа в систему должен быть написан на C #, точно так же, как приложение Windows.

Любые идеи будут очень одобрены.

Заранее спасибо

1 Ответ

3 голосов
/ 01 декабря 2010

Это не та вещь, которую вы обычно помещаете в 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 для хранения пароля во всех вызовах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...