2017-01-23 1 views
0

Ich habe eine Login-Seite erstellt, die nur für Administratoren gedacht ist (es muss also nicht überprüft werden, ob der Benutzer admin ist oder nicht). Die Seite prüft die Datenbank, in der Benutzername und Passwort gespeichert sind. Ich bin erfolgreich in der Lage, den Namen/das Passwort gegen die Datenbank zu überprüfen und dann den Benutzer auf die Admin-Seite zu übertragen, jedoch bemerkte ich, dass ich noch http://localhost:xxxxx/AdminPage eingeben kann und es wird mich dorthin bringen. Wie bringe ich Menschen davon ab, dies zu tun? Ich habe versucht,Wie verhindere ich, dass auf ein Webformular zugegriffen wird, indem Sie den aspx-Dateinamen manuell in den Browser eingeben?

<authorization><deny users="?"/></authorization> 

auf die web.config-Datei hinzufügen, die von der Eingabe aller anonyme Benutzer aufhört, aber jetzt muss ich wissen, wie die Benutzer aus der Datenbank zu ermöglichen, die Erlaubnis zu erhalten. (HINWEIS: Dies ist keine normale Anmeldung bei der Standardeinrichtung. Dies verweist auf eine andere Seite als Standard.)

+0

Mit

+0

Antwort

1

Sie können eine rollenbasierte Autorisierung verwenden, die beschrieben wird here. Wenn Sie Standard-ASP-Rolle-System verwenden, müssen Sie einen Code zu web.config hinzufügen:

<location path="your_page" > 
    <system.web> 
     <authorization> 
     <deny users="?"/> 
     <allow roles="Admin"/>    
     </authorization> 
    </system.web> 
    </location> 
+4

Sie sollten mehr Details in Ihre Antwort aufnehmen, falls der Link jemals unterbrochen wird. – mason

Verwandte Themen