Лучшее, что вы можете сделать в этом случае, - это реализовать свой собственный (пользовательский) поставщик MemberShip и Role.Отношение между членством и ролями определяется вами, и для этого обычно используется имя пользователя.
Примечание к ответам Поэта:
Возможно, я не должен был упоминать«лучшее решение», но, по моему мнению, членство в AspNet по умолчанию и поставщик ролей сопровождает таблицы Aspnet, которые создаются с помощью команды aspnet -regsql.Если членство в Microsoft и поставщик ролей не удовлетворяют вашим потребностям, вам следует создать свои собственные.Если вы создадите своего собственного поставщика членства и роли, другим разработчикам будет ясно, что они имеют дело с реализацией поставщика, которая работает или структурирована по-другому.
Мой вывод заключается в том, что мое решение, возможно, не«лучшее решение», но больше рекомендация.Другое дело, что провайдеры ASP.NET в любом случае не являются примером хорошего дизайна программного обеспечения.Мы все еще используем его из-за их совместимости с другими элементами управления.Ваше решение в порядке, но мое будет так же хорошо, и это до мр.Саиф выберет решение, которое лучше всего подходит для его приложения.
Как отмечает Microsoft:
Существует две основные причины создания настраиваемого поставщика членства.
• Вам необходимо хранить информацию о членстве в источнике данных, который не поддерживается поставщиками членства, включенными в .NET Framework, такими как база данных FoxPro, база данных Oracle или другой источник данных.
•Вам необходимо управлять информацией о членстве, используя схему базы данных
, которая отличается от схемы базы данных, используемой поставщиками, поставляемыми с .NET Framework