Er Roles.AddUserToRole virkelig det, jeg leder efter for at tilfredsstille mine behov. Jeg tror, jeg skal gemme brugerrollerne i sessionen, ikke sandt?
INGEN! Tilføjelse af bruger til roller betyder, at udbyderen knytter brugeren til rollen. Da du allerede har brugeren linket, er dette en værdiløs retning.
lagre disse roller på en eller anden måde, så jeg kan vise kontroller og links baseret på deres rollemedlemskab
Hvorfor skal du gøre dette? På sideniveau kan du opsætte ASP.NET-sikkerhed med beskæringer, så du automatisk kan udelukke sider fra brugerens visning, hvis de ikke er i den eller de korrekte roller. Hvad angår sektioner/kontroller/osv, kan du kontrollere, om en bruger ER i en rolle, og derefter bestemme, om den skal vises eller ej. Hvis du bruger sektioner, kan meget af dette gøres deklarativt i stedet for programmatisk.
Den ene advarsel er, hvad din medlemsudbyder understøtter. "Ud af boksen"-udbydere (Access og SQL Server) understøtter sikkerhedstrimninger og deklarativ syntaks for ekskludering af sektioner af en side osv. Hvis MySQL-udbyderen fuldt ud implementerer alle metoderne, bør du også have det fint med at bruge det . Hvis du opretter en tilpasset udbyder, er der visse dele, DU skal implementere for at få tingene til at fungere.
Novellen er, når du får fat i en medlemskabBruger (godkender personen), vil du have adgang til, om personen er i rollen eller ej. Dette er alt sammen en del af standardimplementeringen af en medlemsudbyder i .NET. Så længe den udbyder, du bruger til MySQL, dækker alle de samme metoder, kan du lave en hurtig google-søgning og finde tonsvis af websteder, der viser, hvordan du viser/skjuler bits baseret på roller.