Страница 1 из 1

Учётные записи пользователей приложения

Добавлено: 24 Март 2017, 18:30
Developer
Привет всем!

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

1)Что лучше использовать для доступа к приложению и базе данных: внутреннюю учётную запись приложения (Application) или учётную запись пользователя операционной системы Windows (локальную или контроллера домена) - достоинства и недостатки выбранного способа?
2)Хранение имени пользователя (Login) в базе данных приложения - в открытом виде или Hash строки?
3)Разрешать в строке пароля любые символы или ограничить набор только латинскими буквами и цифрами?
4)Устанавливать ли ограничения на длину пароля (как минимальную так и максимальную)?
5)Устанавливать ли ограничения на сложность пароля (буквы, цифры, регистр, спецсимволы)?
6)Необходимо ли применение "соли" при хранении пароля (Passoword) в базе данных приложения в виде Hash строки?
7)Как ограничить доступ базе данных (TPS, SQL Server ) из инструментальных средств а не пользовательского приложения (Application)?
8 )Методы ограничение несанкционированного доступа пользователей к базе данных содержащей учётные записи пользователей на основе файлов TPS и SQL SERVER (MS SQL, Sybase SQL Anywhere и другие)?
9)Технология ограничения доступа пользователей к разделам и пунктам меню приложения (Application) на основе учётных записей пользователей?
10)Какова возможная технология ведение протокола действий пользователя (меню, пункт меню, выполненное действие, дата и время операции)?

Прошу участников форума высказать свои мнения.

Учётные записи пользователей приложения

Добавлено: 24 Март 2017, 19:49
kreator
Тут одного первого вопроса достаточно, чтобы развернуть дискуссию :mrgreen: . Есть вариант брать пользователя из AD. Зачем? Думаю, чтобы упростить работу пользователя - не надо вводить вторично логин и пароль. Но при этом всё равно Вы должны где-то хранить их у себя и как-то синхронизировать свою базу с AD. Опять же зачем? Следы работы должны сохраняться? В таблицах что хранить? Полное имя? Или некий идентификатор? Принято идентификатор, и форейн-ключи по ID обычно делают. А Вы не можете поставить запрет на удаление пользователя из AD. Поэтому нужно у себя хранить пользователя. Я чуть-чуть смотрел в сторону AD (был вопрос у заказчика). Из AD можно по пользователю вытащить практически всё, кроме пароля. Для пароля надо хакера звать.
2) Если SQLAnywhere, то у него и так шифрованная БД.
3) А как требует сервак?
4) Тоже самое.
5-6) Тоже самое.
7) Если дадите админский пароль (помнится у Вас это требование заказчика), то как ещё ограничить доступ со стороны? Искать какие-то нестандартные ходы.
8) Непонятно.
9-10) Куча вариантов. 9 пункт во всяком случае обсуждался подробно на форуме.