Дали Roles.AddUserToRole наистина е това, което търся, за да удовлетворя нуждите си. Мисля, че трябва да съхраня потребителските роли в sessio, нали?
НЕ! Добавянето на потребител към роли означава, че доставчикът ще свърже потребителя с ролята. Тъй като вече имате свързан потребител, това е безполезна посока.
съхраня по някакъв начин тези роли, за да мога да показвам контроли и връзки въз основа на тяхното членство в роли
Защо трябва да правите това? На ниво страница можете да настроите сигурността на ASP.NET с изрязвания, така че да можете автоматично да изключвате страници от изгледа на потребителя, ако те не са в правилната(ите) роля(и). Що се отнася до раздели/контроли/и т.н., можете да проверите дали даден потребител е в роля и след това да определите дали да го покажете или не. Ако използвате секции, голяма част от това може да се направи декларативно, а не програмно.
Единственото предупреждение е това, което вашият доставчик на членство поддържа. Доставчиците на "извън кутията" (Access и SQL Server) поддържат изрязвания на сигурността и декларативен синтаксис за изключване на секции от страница и т.н. . Ако създадете персонализиран доставчик, има определени части, които трябва да приложите, за да накарате нещата да работят.
Кратката история е, че след като вземете membershipUser (удостоверите лицето), ще имате достъп до това дали лицето е в роля или не. Всичко това е част от стандартната реализация на доставчик на членство в .NET. Докато доставчикът, който използвате за MySQL, покрива всички едни и същи методи, можете да направите бързо търсене в Google и да намерите тонове сайтове, показващи как да показвате/скривате битове въз основа на роли.