Редактировать: Я должен уточнить, что, несмотря на все, что в OP, вы логически определяете приложение, даже если код не существует. В противном случае это просто общедоступная база данных со всеми опасностями, которые влечет за собой.
Может быть, я замерзну за этот пост, но Я думаю, что это чрезвычайно опасный анти-шаблон в плане безопасности и дизайна .
Пользовательский объект должен быть определен системой, в которой он работает. Если вы фактически определяете их в другом приложении (базе данных), у вас потеря контроля.
Это не имеет смысла с точки зрения дизайна, потому что если вы хотите расширить эти учетные записи любыми данными (адрес электронной почты, номер сотрудника, MyTheme ...), вы не сможете расширить пользователь БД, и вам все равно нужно будет создать эту таблицу пользователей.
Учетные записи пользователей базы данных по своей природе более опасны, чем что-либо в учетной записи, определенной вашим приложением, потому что они могут быть продвинуты, удалены, доступны или иным образом манипулированы не только базой данных и любым проходящим администратором базы данных, но и всем остальным, связанным с базой данных. Вы выставили критический системный элемент как общедоступный.
О масштабировании не может быть и речи. Представьте себе абстракцию, где у вас будут десятки или сотни тысяч пользователей. Это просто не подходит для управления учетными записями в БД, но как записи в таблице это просто данные. Давний аргумент «ну, а когда-нибудь они будут пользователями X», не держит меня на плаву, потому что я видел очень ограниченные внутренние приложения, которые становятся публично доступными, когда бизнес считает, что это может повысить ценность для клиента или компании. только что купленный гигантским партнером, которому теперь нужен доступ. Вы должны планировать разумную расширяемость.
Вы не сможете совместно использовать пул соединений, вы не станете более безопасным, чем если бы вы только что создали горстку, например, учетные записи ролей, и вы не обязательно сможете влиять на массовые изменения, когда вам это необходимо, или эффективно выполнять резервное копирование.
У меня, похоже, много серьезных проблем, и я думаю, что другие более опытные SO могут перечислить больше.