Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156

Открыть новую тему     Написать ответ в эту тему

Zvezdmii_Lord

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
datagrid у меня заполняет всю форму (fill), горизонтальный скрол работает. Просто хотелось бы, чтобы форма автоматически применяла к себе размер равный размеру содержимому в datagridview (по краю последней колонки)

Всего записей: 9 | Зарегистр. 25-08-2017 | Отправлено: 09:57 11-02-2019
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zvezdmii_Lord
Тогда после полной загрузки грида установите width формы равным width грида.

Всего записей: 3914 | Зарегистр. 31-03-2002 | Отправлено: 17:09 11-02-2019
IHmG

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
кто-нибудь знает качественный OpenSource проект на ASP.Net Core C# ?
 
читаю https://metanit.com/sharp/aspnet5 и хочется посмотреть как теория работает в реальных проектах... в идеале, что-нибудь использующее JSON-API
 
Добавлено:

Цитата:
одна из самых популярных либ для json-a в .net - Newtonsoft.Json

как использовать эту либу в Asp net core web-application-empty?

Всего записей: 226 | Зарегистр. 07-06-2006 | Отправлено: 09:06 14-02-2019
Zvezdmii_Lord

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Zvezdmii_Lord
Тогда после полной загрузки грида установите width формы равным width грида.

 
Помогло каждому столбцу в датагрид выставить свойство AutoSizeMod в NotSet, а в свойствах самого датагрида свойство AutoSizeColumnsMode в Fill и AutoSizeRowsMode в AllCells. Свойство Dock тоже в Fill естественно. В итоге датагрид подстраивается под любой экран. При развертывании во весь экран столюцы занимают все место от края до края. При уменьшении и увеличении формы происходит увеличение ширины столбцов, а не увеличение рабочей зоны датагрид.  
 
Посмотрел что с такими свойствами не идут автоматическое увеличение ширины столбца в соответствии с содержимым.
 
Теперь новая задачка. Сделал форму авторизации. Пароли и логины хранятся в MySQL. Думаю что нужно как то шифровать пароль. Наверное нужно пароль уже хранить шифрованным в базе и при вводе юзером пароля в форму обрабатывать его и сравнивать уже зашифрованный пароль введенный с паролем из базы?

Всего записей: 9 | Зарегистр. 25-08-2017 | Отправлено: 05:51 18-02-2019 | Исправлено: Zvezdmii_Lord, 07:03 18-02-2019
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zvezdmii_Lord

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

А также хранить в базе рандом SALT, использованный при первоначальном шифровании.
 
Hashing Passwords
c# sha256 hash with salt Google

Всего записей: 3914 | Зарегистр. 31-03-2002 | Отправлено: 06:23 18-02-2019 | Исправлено: dneprcomp, 06:25 18-02-2019
Zvezdmii_Lord

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp
 
 
Еще не могли бы подсказать, как вывести строку подключения к базе в текстовый документ? Чтобы потом указать в программе ссылку на txt и конфиг подключения.

Всего записей: 9 | Зарегистр. 25-08-2017 | Отправлено: 07:15 18-02-2019
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zvezdmii_Lord
Я использую Excel. Особенно если нужно работать с несколькими подключениями.
Например, делать одно подключение активным для текста, а другое для работы. И т.п.
С Excel можно работать как с базой данных. Создать струтуру table и хранить данные  
для connection string в fields(cells). Выборку легче делать. Редактировать проще,  
изменяя только необходимые cells.
Но если планирутся иметь только одно подключение и хранить его как цельный string,
то можно и txt.
Using Excel as a Database
c# excel database Google
 
File.ReadAllText
StreamReader
Read From a Text File

Всего записей: 3914 | Зарегистр. 31-03-2002 | Отправлено: 18:46 18-02-2019 | Исправлено: dneprcomp, 20:03 18-02-2019
Zvezdmii_Lord

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp спасибо дружище, да, у меня только одно подключение, простенькая прога для работы с базой. Просто сама база изначально тупо в экселе в доступе на гугл диске. Не понравилось что там логины и пароли висят всякие и на гугле. Расположил мускул во франции на vds linux. вот теперь марокаюсь)

Всего записей: 9 | Зарегистр. 25-08-2017 | Отправлено: 04:57 19-02-2019
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zvezdmii_Lord
BTW, размер password после шифрации займет значительно больше места в БД.
Особенно если размер ключа(Salt) выбрать 132.  
Data size поля надо просчитать для максимального размера hash. И binary для хранения salt тоже.

Всего записей: 3914 | Зарегистр. 31-03-2002 | Отправлено: 06:35 19-02-2019 | Исправлено: dneprcomp, 07:26 19-02-2019
Zvezdmii_Lord

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp че то не могу догнать с чего начать, вот код моей формы:
 
 

Код:
 
    public partial class Autorization : Form
    {
        private MySqlConnection MySqlConnection = null;
        public Autorization()
        {
            InitializeComponent();
 
        }
 
        public static string connectionString
        {
            get
            {
                return ConfigurationManager.ConnectionStrings["Conn"].ConnectionString;
            }
        }
 
 
        private void buttonLogin_Click(object sender, EventArgs e)
        {
 
            MySqlCommand check = new MySqlCommand("SELECT * FROM users WHERE login=@login AND password=@password", MySqlConnection);
            System.Data.Common.DbDataReader sqlReader = null;
 
            bool success = false;
            try
            {
                check.Parameters.AddWithValue("@login", textBox1.Text);
                check.Parameters.AddWithValue("@password", textBox2.Text);
 
                using (sqlReader = check.ExecuteReader())
                {
                    success = sqlReader.Read();
                }
 
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                if (sqlReader != null && !sqlReader.IsClosed)
                {
                    sqlReader.Close();
                }
            }
            if (success)
            {
                Form1 form1 = new Form1(MySqlConnection);
                form1.Show();
                this.Hide();    
            }
             
             
            else
            {
                MessageBox.Show("Неверный логин или пароль");
            }
 
        }
 
        private async void Autorization_Load(object sender, EventArgs e)
        {
            MySqlConnection = new MySqlConnection(connectionString);
            await MySqlConnection.OpenAsync();
        }
 
 
 
        private void buttonCancel_Click(object sender, EventArgs e)
        {
            Close();
        }
 
        private void Autorization_FormClosing(object sender, FormClosingEventArgs e)
        {
            Application.Exit();
        }
 
    }
}
 

откуда начать смотреть по шифрованию пароля? и еще вопрос, у меня после ввода логина и пароля при соответствии с базой форма сворачивается и прячется. Можно ли как то сделать чтобы она полностью выключалась и открывала за собой основную форму? если писать this.Close(); закрывается вообще вся программа.

Всего записей: 9 | Зарегистр. 25-08-2017 | Отправлено: 08:27 19-02-2019 | Исправлено: Zvezdmii_Lord, 08:28 19-02-2019
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zvezdmii_Lord

Цитата:
форма сворачивается и прячется

Начинать десктоп app надо с класс модуля, а не с формы. Тогда закрываться не будет.
The Main program called Program.cs is default code file which is created when a new application is created in Visual Studio. This code will contain the startup code for the application as a whole.

Код:
 
static void Main()
    {
        Application.Run(new Form1());   //загрузит login форму  
    }
 

.NET C# main method and windows forms
 
C# Database Connection Tutorial with Example  
Алгоритм работы с логином должен быть следующий:
0. Загрузка connection string из файла и подключение к DB
1. Получение encrypted password and salt из DB WHERE login=@login без всяких "and" - использовать ТОЛЬКО login name.
    Login name дожен быть уникальным для table. Т.е НЕ должен ПОВТОРЯТЬСЯ.
2. Если recordset не пустой, encrypt textBox2.Text используя salt из DB
3. Сравниваем encrypt textBox2.Text результат с полученным из базы password
Username and hashed password authentication on login form C#

Всего записей: 3914 | Зарегистр. 31-03-2002 | Отправлено: 09:28 19-02-2019 | Исправлено: dneprcomp, 09:44 19-02-2019
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2018

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru

Рейтинг.ru