Weiterleitung nach dem login mit C# , HTML-Seite. Man sollte sich aber nicht öffnen, dass HTML nur durch kopieren dieser URL
Ich bin neu ASP.Net und C#.
Ich möchte die Anmeldung mit C# und dann umleiten möchten, um HTML-Datei.
Dieser HTML-Code SuperGIS server-Startseite.
Ich bin mit so etwas wie dieses:
<%@ Page Language="C#" Debug="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void btnlogin_Click(object sender, EventArgs e)
{
if(some code to check username and password exist in DB)
Response.Redirect("http://localhost/AddMarker/MapEditor.htm");
else
Response.Redirect("http://localhost/AddMarker/Login.aspx");
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Login Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
Sign In<br />
<br />
<asp:Label ID="lblUsername" runat="server" Text="Username"></asp:Label>
<asp:TextBox ID="txtUsername" runat="server"></asp:TextBox>
<br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate = "txtUsername"
ErrorMessage="This Feild is Mendetory"></asp:RequiredFieldValidator>
<br />
<br />
<asp:Label ID="lblPassword" runat="server" Text="Password"></asp:Label>
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox>
<br />
<br />
<asp:Button ID="btnlogin" runat="server" Text="Login" onclick="btnlogin_Click"
Width="47px" />
<br />
</div>
</form>
<a href="forgetpass.aspx">Forgt Password</a><br>
<a href="Create.aspx">New User</a>
</body>
</html>
Dieser code leitet zum gewünschten Ziel. Aber damals url
-->"http://localhost/AddMarker/MapEditor.htm"
die durch code: Response.Redirect("http://localhost/AddMarker/MapEditor.htm");
Also jeder kann die kopieren Sie diese URL und Zugriff auf diese Dienste ohne Authentifizierung.
So kann ich einige dynamische URL, die man benutzen kann ohne korrekte ID und Passwort.
Bitte helfen Sie mir.
Vielen Dank im Voraus.
Forms authentication ist wahrscheinlich das, was Sie gesucht werden soll.
InformationsquelleAutor so_ | 2012-10-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie den Sitzungsstatus zu speichern, wenn ein Benutzer authentifiziert ist.
Können Sie Ihre Trainingszeit in
web.config
so dass Sie nur bleiben authentifizierte für eine gewisse Zeit. Dann in das load-Ereignis von den Seiten, wo Sie müssen authentifiziert werden, verwenden Sie diese:Könnten Sie dies auch tun, mit cookies, aber ich würde empfehlen, dies nicht zu tun, wo möglich durch die neue leigislations mit cookies.
was für Fehler? Wenn dies funktionierte, würde Sie die Antwort akzeptieren, um zu verhindern, dass Menschen versuchen, Ihre Frage zu beantworten.
sorry LukeHennerley Es hat nicht funktioniert.. ich war immer syntax Fehler für "HttpContext.Aktuelle.Session("UserIsAuthenticated")". Ich war also nicht Ballen zu laufen und zu testen.
sorry nur feststellen, dass die
is nothing
war VB.Net code... Würde ich aber jemand anderen haben kann, dass abgeholt und gekennzeichnet. Ändern Sie Sie auf== null
wie pro mein edit und es sollte funktionieren.InformationsquelleAutor LukeHennerley
diese kann getan werden, mithilfe von http-Handlern, mehr dazu Lesen Sie hier:
InformationsquelleAutor Ali Issa
Ich denke, der beste Weg wäre mit ASP .Net in Ihrem MapEditor.htm zur überprüfung des Zugriffs. Wenn der Benutzer authentifiziert ist, speichern Sie in der Sitzung Ihre Flagge. Anschließend checken Sie diese fahne immer in deinem MapEditor.aspx
InformationsquelleAutor maralfol
Sollten Sie Ihre Login-Status check-in-Global.asax. Verwenden Sie eine der Veranstaltungen wie Application_BeginRequest, um zu sehen, wenn der Benutzer angemeldet ist und umleiten, wenn nicht. Sie müssen sicherstellen, dass die Seite, die der Benutzer versucht zu ziehen, ist nicht die login-Seite, aber sonst wird es nicht funktionieren.
Update: Hier ist etwas code, den ich verwendet in eine masterpage, die gut funktioniert. Wenn Sie nicht mit masterpages dann die Globale.asax wird funktionieren, wenn Sie diese in den richtigen stellen.
Beachten Sie, dass dieser code ist darauf ausgerichtet, die überprüfen, ob der Benutzer in einer bestimmten Domäne-Gruppe, da die Seite mithilfe der Windows-Authentifizierung. Sie können swap, was auch immer Methode, die Sie benötigen, um den Benutzer zu überprüfen. Auch die AccessException bool auf true gesetzt ist in meinem NoAccess Seite, so dass es auch wirklich angezeigt bekommt. Schließlich ist die überprüfung zwischengespeichert, damit wir nicht ständig überprüfen.
InformationsquelleAutor EricR