sql >> Databáze >  >> RDS >> Mysql

asp.net ukládá role v relaci Roles.AddUsertoRole (ne to, co hledám?)

Je Roles.AddUserToRole skutečně to, co hledám, abych uspokojil své potřeby. Myslím, že musím uložit uživatelské role v relaci, ne?

NE! Přidání uživatele do rolí znamená, že poskytovatel propojí uživatele s rolí. Protože již máte uživatele propojeného, ​​je to bezcenný směr.

tyto role nějak uložit, abych mohl zobrazit ovládací prvky a odkazy na základě jejich členství v roli

Proč to musíte udělat? Na úrovni stránky můžete nastavit zabezpečení ASP.NET s ořezy, takže můžete automaticky vyloučit stránky ze zobrazení uživatele, pokud nemají správnou roli (role). Pokud jde o sekce/ovládací prvky/atd., můžete zkontrolovat, zda je uživatel v roli, a poté určit, zda ji chcete zobrazit či nikoli. Pokud používáte sekce, mnohé z toho lze provést spíše deklarativně než programově.

Jedinou výhradou je to, co váš poskytovatel členství podporuje. Poskytovatelé „out of the box“ (Access a SQL Server) podporují bezpečnostní ořezy a deklarativní syntaxi pro vyloučení částí stránky atd. Pokud poskytovatel MySQL plně implementuje všechny metody, měli byste je také používat . Pokud vytvoříte vlastního poskytovatele, existují určité části, které musíte implementovat, aby věci fungovaly.

Krátká povídka je, že jakmile získáte členstvíUser (ověříte osobu), budete mít přístup k tomu, zda je osoba v roli nebo ne. To vše je součástí standardní implementace poskytovatele členství v .NET. Pokud poskytovatel, kterého používáte pro MySQL, pokrývá všechny stejné metody, můžete rychle vyhledávat na Googlu a najít spoustu stránek, které ukazují, jak zobrazit/skrýt bity na základě rolí.




  1. IDENT_CURRENT vs @@IDENTITY vs SCOPE_IDENTITY v SQL Server:Jaký je rozdíl?

  2. Jak uniknout jednoduché uvozovce v řetězcovém literálu pomocí MySQL z Javy

  3. Jak nahradit operátor OR operátorem UNION?

  4. zadáním správného uživatelského jména a hesla získáte ORA-01017:neplatné uživatelské jméno/heslo; přihlášení odepřeno