• Как описать в БД одно поле?

    @DarkByte2015 Автор вопроса
    > 2. У вас две таблицы, завязанных на id пользователя. То есть, чтобы проверить принадлежность пользователя к какой-либо конфигурации вам нужно будет обойти две таблицы.

    Ну блин я не знаю. Можно вообще все в одной таблице сделать. Вы то как предлагаете?

    > 3. Заданное значение в web.config можете изменять не открывая кода вашего сервера. Не знаю, почему мутно. В данном файле хранятся настройки сервера. То есть, если ваш код будете продавать, заказчик сам сможет этот пароль установить.

    Ну да в принципе это плюс. Хорошо, вы можете подсказать какой настройкой там можно задать этот пароль? Я в конфигах почти ничего не понимаю. И кстати что за web.config? У меня такого нету, у меня только App.config.

    p.s. Позабавило про продажу :) Нет, увы вся это морока ради диплома...
  • Как описать в БД одно поле?

    @DarkByte2015 Автор вопроса
    > Суперадминистратор вводит свой обычный пароль и всё. Зачем вам секретная комбинация.

    Чтобы получить права суперадминистратора.

    > 1. Храните этот пароль в таблице пользователей. С каким нибудь особым именем. Можете с id=0

    Как то коряво звучит...

    > 2. У вас странная база данных. Вы дублируете данные. Почему вы в таблице пользователей не указали id роли, а в таблице ролей лишь названия? Первый раз вижу такое решение, как у вас.

    Это где же я их дублирую? Ни разу не дублирую... Но да, насчет структуры БД да и насчет всей этой админской фигни я уже весь мозг сломал. Ну хоть убей не знаю как правильно это все оформить. Никто мне не хочет говорить как делают в реальных проектах. Как сговорились все.

    > 3. Вы реализовываете на c#. Посмотрите, что такое web.config. Может быть имеет смысл там задать пароль супер админа?

    Мутная тема. Хотя возможно.... Только чем это будет отличаться от того что я предлагал в самом начале? Т.е. можно тогда уж тупо задать в коде константой хэш пароля и все.

    > У вас десктопное приложение или сайт?

    Десктоп.

    > Обычный пользователь авторизовался. Ввёл вашу комбинацию - стал суперадмином? А так сколько угодно суперадминов - и на всех один пароль?

    Да. Именно так. Но один пароль только для получения админки. Для авторизации то у них у всех разные пароли.
  • Как описать в БД одно поле?

    @DarkByte2015 Автор вопроса
    Блин я уже 2 раза описал. Просто жмешь комбинацию, вводишь пароль. Все! Только перед этим разумеется надо авторизироваться.
  • Как описать в БД одно поле?

    @DarkByte2015 Автор вопроса
    С чего бы ему два раза вводить пароль? Нет, он сначала просто входит как обычный пользователь на сервер. Если он уже прописан в БД как супер-админ, то он входит уже супер-админом, иначе он после входа жмет комбинацию клавиш, вводит пароль, получает права и в следующий раз уже только просто входит.
  • Как описать в БД одно поле?

    @DarkByte2015 Автор вопроса
    Разумеется все пароли хранятся в захэшированном виде. Таким образом никто не может получить пароль в явном виде.
  • Как описать в БД одно поле?

    @DarkByte2015 Автор вопроса
    Администратор - это такая же учетная запись как и все остальные. Только в таблице Roles у него будет флаг Admin, а у супер-администратора флаг SuperAdmin. Можете посмотреть вот тут Как правильно описать структуру БД? как я это все организовал. Смысл в том что по секретной комбинации клавиш выскакивает окошко, вводишь пароль, если он верный тебе даются права супер-администратора (и соответствующая пометочка в БД).
  • Как правильно описать структуру БД?

    @DarkByte2015 Автор вопроса
    Обновил вопрос.
  • Как правильно описать структуру БД?

    @DarkByte2015 Автор вопроса
    А можете просто сказать как мне сделать? У меня уже совершенно нет времени читать про правильную организацию БД. Сроки поджимают сильно.
  • Как правильно описать структуру БД?

    @DarkByte2015 Автор вопроса
    Мне не надо гуглить про БД, я прекрасно знаю что это такое.
  • Как поймать момент выбора вкладки?

    @DarkByte2015 Автор вопроса
    Тьфу! Тупанул! Можно же просто в сеттере свойства во ViewModel-и вызывать обработчик.
  • Как поймать момент выбора вкладки?

    @DarkByte2015 Автор вопроса
    Да это случайно скопировалось я не заметил.
  • Как сделать асинхронность без await?

    @DarkByte2015 Автор вопроса
    Да нет это маразм. Я не буду так делать. Событий куча. Нахрена мне это надо.
  • Как сделать асинхронность без await?

    @DarkByte2015 Автор вопроса
    Причем тут вообще TaskCompletionSource? Он тут не применим.
  • Как сделать асинхронность без await?

    @DarkByte2015 Автор вопроса
    Извиняйте, лайк поставил, но решением было Task.Yield которое подсказали выше. :)
  • Как сделать асинхронность без await?

    @DarkByte2015 Автор вопроса
    С другой стороны это всего лишь значит что мне нужно поставить этот await в самом конце метода. :) Тогда все будет в одном потоке.
  • Как сделать асинхронность без await?

    @DarkByte2015 Автор вопроса
    Да UI. Я хотел все события (их много) сделать асинхронными. Действий в их обработчиках в общем то немного, зато вызываются часто. Поэтому не хотелось бы плодить потоки.
  • Как работать с SecureString?

    @DarkByte2015 Автор вопроса
    > А работать с ним через указатели только. Так возможно и сравнить и в БД добавить. (См. статьи в инете как.)

    Именно это я и спрашивал. Не надо меня в интернет посылать.
  • Как сделать асинхронность без await?

    @DarkByte2015 Автор вопроса
    Да я уже разобрался. Действительно в другом потоке будет увы. :(
  • Как сделать асинхронность без await?

    @DarkByte2015 Автор вопроса
    Вы не правы. Только Task.Run явно заимствует поток из пула. Если не использовать его то асинхронный метод будет выполняться в том же потоке откуда вызван.
  • Как хранить пароль и назначать администраторов?

    @DarkByte2015 Автор вопроса
    Во первых пин тоже хранится в виде MD5 хэша, во вторых его еще надо найти в exe-шнике. В третьих что значит "При установки клиент-сервера задавать пин код."? Ну и наконец это: "Защифровать все жесткими алгоритмами, который допустим выполняется 10 секунд и пин посложнее." вообще не понятно. Что "все"? Когда зашифровать? Один раз при компиляции? Или при создании БД? Когда и что? Я уже вроде сказал что у меня везде используются хэши, ничего более криптостойкого не требуется.