powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Разграничение ролей пользователей в приложении C#
6 сообщений из 6, страница 1 из 1
Разграничение ролей пользователей в приложении C#
    #39630092
Aether
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.
Нужно сделать так, чтобы логин и пароль приложения брался из данных пользователей SQL.
В SQL создано 3 пользователя, у каждого своя роль и доступ к таблицам:
Administrator
Restorator
Operator

Код формы аутентификации:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Configuration;

namespace WindowsFormsApplication6
{
    public partial class authorization : Form
    {
        public authorization()
        {
            InitializeComponent();
        }

        private void button_exit_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void button_login_Click(object sender, EventArgs e)
        {
            var txtUser = textBox_login;
            var txtPasswd = textBox_password;
            var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            var connectionStringsSection = (ConnectionStringsSection)config.GetSection("connectionStrings");

            connectionStringsSection.ConnectionStrings["WindowsFormsApplication6.Properties.Settings.РесторанConnectionString"].ConnectionString = @"Data Source=USER-ПК;Initial Catalog=Ресторан;Integrated Security=True; Persist Security Info=True;" +
                            "user ID=" + txtUser + ";" +
                            " Password=" + txtPasswd + ";";
            config.Save();


ConfigurationManager.RefreshSection("connectionStrings");
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["WindowsFormsApplication6.Properties.Settings.РесторанConnectionString"].ConnectionString;
            using (var connection = new SqlConnection(connectionString))
            {
                try
                {
                    connection.Open();
                    MessageBox.Show(@"Подключение к базе данных " + connection.Database);
                    MessageBox.Show(@"Подключение успешно");

                    Hide();
                    var ss = new mainmenu();
                    ss.Show();
                }
                catch (Exception exception)
                {
                    MessageBox.Show(exception.Message);
                }
            }
        }

        private void authorization_Load(object sender, EventArgs e)
        {

        }
    }
}



Если оставить Integrated Security = True, то авторизация будет независимо от того, что я введу в строку логин и пароль.
Если же убрать Integrated Security = True, то выдаёт ошибку(точно так же как и выше, независимо от того, что введу в строки):


Код app.config
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
    </configSections>
    <connectionStrings>
        <add name="WindowsFormsApplication6.Properties.Settings.РесторанConnectionString"
            connectionString="Data Source=USER-ПК;Initial Catalog=Ресторан;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>



Setting.setting:



Помогите найти и исправить ошибку.

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Разграничение ролей пользователей в приложении C#
    #39630098
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aether
Код: c#
1.
2.
3.
connectionStringsSection.ConnectionStrings["WindowsFormsApplication6.Properties.Settings.РесторанConnectionString"].ConnectionString = @"Data Source=USER-ПК;Initial Catalog=Ресторан;Integrated Security=True; Persist Security Info=True;" +
                            "user ID=" + txtUser + ";" +
                            " Password=" + txtPasswd + ";";



txtUser и txtPassrd это ссылки на элементы управления, контролы (текстбоксы, если проще). это НЕ текст, который пользователи вводят в поле.

вот по ссылке

https://msdn.microsoft.com/ru-ru/library/system.windows.forms.textbox(v=vs.110).aspx

вы можете пройти и посмотреть, как извлечь из элемента управления введённое значение.
...
Рейтинг: 0 / 0
Разграничение ролей пользователей в приложении C#
    #39630160
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда я вижу, как в винформс напрямую лезут в свойства контрола, моя рука тянется к парабеллуму. Биндинги надо использовать. И работать с моделью.
...
Рейтинг: 0 / 0
Разграничение ролей пользователей в приложении C#
    #39630174
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныКогда я вижу, как в винформс напрямую лезут в свойства контрола, моя рука тянется к парабеллуму. Биндинги надо использовать. И работать с моделью.
не всё так однозначно.
По вашей же ссылке:
авторЯ думаю, что этот код, хотя и довольно впечатляющий, изобретает колесо, которое WinForms не предназначено для использования. Попытка реализовать шаблон Model-View-ViewModel с помощью WinForms вызовет у вас больше проблем, чем вы можете себе представить, если ваше приложение немного сложнее, чем, скажем, приложение калькулятора.

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

Приложения WinForms лучше работают с шаблоном Model-View-Presenter .
...
Рейтинг: 0 / 0
Разграничение ролей пользователей в приложении C#
    #39630185
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныКогда я вижу, как в винформс напрямую лезут в свойства контрола, моя рука тянется к парабеллуму. Биндинги надо использовать. И работать с моделью.

ни о каких биндингах в данном случае и речи быть не может,
ТС пока не различает контролы от введённого в них текста :)
...
Рейтинг: 0 / 0
Разграничение ролей пользователей в приложении C#
    #39630187
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttСон Веры ПавловныКогда я вижу, как в винформс напрямую лезут в свойства контрола, моя рука тянется к парабеллуму. Биндинги надо использовать. И работать с моделью.

ни о каких биндингах в данном случае и речи быть не может,
ТС пока не различает контролы от введённого в них текста :)
+1

Видно же, что человек зелен, какой ему MVVM с MVP?
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Разграничение ролей пользователей в приложении C#
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]