Добавление пользователя базы данных для каждого клиента - PullRequest
0 голосов
/ 19 апреля 2019

Я создаю базу данных, которая состоит из двух основных частей: внешнего интерфейса, который видит клиент, и внутреннего интерфейса, который может видеть только компания.

Это система подписчиков электронной почты, поэтому я хочу, чтобы клиент мог просматривать, добавлять, редактировать и удалять свои записи в таблице подписчиков электронной почты, но все связанные с администратором таблицы должны быть скрыты от них.

Поскольку я довольно новичок в SQL Server 2017, я все еще думаю о логинах, пользователях и ролях.

Главный вопрос, который я хотел задать, - как лучше всего это сделать? Я знаю, что могу вручную настроить пользователей базы данных и дать им разрешения на предоставление / отклонение, но как мне сделать это автоматически, чтобы каждый раз, когда сведения о клиенте добавлялись в новую строку в таблице клиентов, новый пользователь базы данных на боковой панели добавлено.

1 Ответ

0 голосов
/ 19 апреля 2019

Попробуйте это

public static void AddUsersToDatabase(string databaseserver, string databasename, string usertobeadded)
{
    using (SqlConnection conn = new SqlConnection("server=" + databaseserver + "; database=" + databasename + "; User ID=WPDOMAIN\\spdev; Integrated Security=SSPI;  password=Password123;"))
    {
        conn.Open();

        string password = "Password123";

        string sql = "CREATE LOGIN " + usertobeadded + " WITH PASSWORD = '" +
            password + "';  USE " + databasename + "; CREATE USER " + usertobeadded + " FOR LOGIN " + usertobeadded + ";";

        SqlCommand cmd = new SqlCommand(sql);
        cmd.ExecuteNonQuery();


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