ASP.NET MVC. Überprüfen Sie, ob Benutzer berechtigt ist, von JavaScript

Ich bin mit ASP.NET MVC-Framework 3 und Forms-Authentifizierung. Ich weiß, wie zu überprüfen, die auf Server-Seite, falls der Benutzer die Berechtigung für eine Aktion (mit [Authorize]), und ich weiß, wie zu überprüfen, diese innerhalb einer Aktion oder einer Ansicht (mit User.Identity.IsAuthenticated oder andere Mitglieder der 'User').

Was ich versuche zu tun, ist zu definieren, JavaScript-code, der ausgeführt wird, unterschiedlich, je nachdem, ob der Benutzer berechtigt ist.

Erachten ein solches Skript auf der Seite:

<script>
 function Foo(){
  if(userAuthorized)
   alert("You\'re in the system");
  } else {
   alert("You\'re not authorized");
  }
<script>

Funktion Foo() wird ausgelöst durch ein Ereignis, sagen klicken. Und ich würde gerne die Fähigkeit haben, zu prüfen, ob der Benutzer autorisiert ist, die auf Kunden Seite.

Die beste Lösung, die ich habe, kam mit zu Rendern Globale Variablen Initialisierung im Blick. Wie diese:

@if(User.Identity.IsAuthenticated)
{
 <script>
  var userAuthorized = true;
 </script> 
}
else
{
 <script>
  var userAuthorized = false;
 </script> 
}

Aber es scheint nicht zu mir wie ein guter Ansatz. Gibt es andere Wege?
Vielen Dank im Voraus.

PS: Dies ist ein usability-Problem, natürlich bin ich dabei erforderlichen überprüfungen auf dem server.

  • wie etwa in externe javascript-Dateien für jeden Fall.
  • Eigentlich, dachte ich, dies zu tun, wenn es keine andere Möglichkeit gibt. Anyways, vielen Dank für Ihren Kommentar.
  • Ich glaube nicht, dass es etwas falsch mit Ihrem Konzept.
InformationsquelleAutor Dmitriy | 2011-04-14
Schreibe einen Kommentar