DarkByte2015:
2. Вы измените User на Юзер - и всем пользователям обновлять?
3. Да, если вы записываете туда значение программно - он сохраняется не понятно где. Попробуйте выводить на экран поля, изменяя конфиг вручную.
DarkByte2015:
2. Есть. Вы хотите поменять название роли - и вам придётся у каждого пользователя изменять данное значение.
Возможно, я не до конца точно выразился. Первая таблица User содержит IdRole, вторая таблица в вашем случае содержит 2 столбца и 3 строчки
Id Name
0 User
1 Admin
2 SuperAdmin
Примерно так. Своеобразный enum в базе данных.
3. Что то вы перепутали. Честно, лет сто назад - не знаю как это работало. в ту дирректорию, что вы указали, копируется файл настроек Windows-службы на время её работы. У сервера же он будет иметь имя NameProject.config и лежать рядом с исполняемым файлом.
Правой кнопкой по папке properties -> add new item -> выбираете settings. После открываете его в студии и редактируете. Там будет табличка как Excel
2. Я предлагаю хранить в одной таблице пользователей и id роли. В другой таблице id роли и расшифровка.
3. Не сразу понял как вы сервер создаете. У вас же отдельные проекты для клиента и сервера?
В проекте сервера нужно добавить файл Settings. Далее в папке Properties редактировать *.settings, то есть задать Name=Password, Value=ваш хэш. В зависиммости от того, выберете Scope=User/Application к нему разное обращение. Погуглите отличия scope
p.s. нет ничего более постоянного в проекте, чем то, что создано временно. Лучше сразу писать как на продажу. Потом допилите и будет реальный проект.
p.p.s. У нас такая курсовая, как у вас диплом - написать чат. Правда с web-интерфейсом.
1. С описанной вами в пункте 5 реализацией - согласен, будет неправильно.
2. У вас две таблицы, завязанных на id пользователя. То есть, чтобы проверить принадлежность пользователя к какой-либо конфигурации вам нужно будет обойти две таблицы.
3. Заданное значение в web.config можете изменять не открывая кода вашего сервера. Не знаю, почему мутно. В данном файле хранятся настройки сервера. То есть, если ваш код будете продавать, заказчик сам сможет этот пароль установить.
DarkByte2015: ну и я не меньше раз. Авторизовываться нужно всем пользователям. Суперадминистратор вводит свой обычный пароль и всё. Зачем вам секретная комбинация. Пользователь либо системный администратор, либо нет.
1. Храните этот пароль в таблице пользователей. С каким нибудь особым именем. Можете с id=0
2. У вас странная база данных. Вы дублируете данные. Почему вы в таблице пользователей не указали id роли, а в таблице ролей лишь названия? Первый раз вижу такое решение, как у вас.
3. Вы реализовываете на c#. Посмотрите, что такое web.config. Может быть имеет смысл там задать пароль супер админа?
То есть вы хотите усложнить жизнь супер-администратору. Он должен будет вводить пароль, запоминать секретную комбинацию клавиш, вводить второй пароль и только после этого получит свои права?
2. Вы измените User на Юзер - и всем пользователям обновлять?
3. Да, если вы записываете туда значение программно - он сохраняется не понятно где. Попробуйте выводить на экран поля, изменяя конфиг вручную.