Eigene Anmelde-Seite

Über das Kontextobjekt cmdb.web besteht die Möglichkeit, die Webanmeldung durchführen, d.h. einen SessionKey aus Benutzername und (optional) Kennwort zu generieren. So steht einer eigenen Anmeldeseite nichts im Weg.

Beispiel 1: Standardauthentifizierung

Dieses Beispiel enthält keine Formatierung und dient als Skelett für eine kundenspezifische Anmeldeseite.

Pfad: /meine_firma/mein_login

<entry point>


if (Request.QueryExists("name")) // FORM-Variable "name"
{
	string name=Request.QueryString("name");
	string pwd=Request.QueryString("pwd");
	string sessionkey=cmdb.web.login(name,pwd,null); // Hauptpunkt: "" bedeutet Fehler
	if (sessionkey=="")
	{
		Response.Write("[Standardauthentifizierung] " + cmdb.web.LastErrorText);
	}
	else
	{
		// geklappt => auf standard rimacon-start-seite weiterleiten
		Response.Redirect("start?pSessionKey=" + sessionkey);
		return;
	}
}

Response.Write("<form method=post>");
Response.Write("Name: <input name='name'><br>");
Response.Write("Kennwort <input name='pwd'><br>");
Response.Write("<input type=submit ");
Response.Write("</form>");

Testen

http://server:port/meine_firma/mein_login

Beispiel 2: Eigene Authentifizierung

Dieses Beispiel enthält keine Formatierung und dient als Skelett für eine kundenspezifische Anmeldeseite.

Pfad: /meine_firma/mein_login2

<entry point>

if (Request.QueryExists("name")) // FORM-Variable "name"
{
	string name=Request.QueryString("name");
	string pwd=Request.QueryString("pwd");

	//
	// ## eigene Authentifizierung ##
	// Für Testzwecke muss "name" gleich "pwd" sein und nicht leer sein
	// Andere kundenspezifischen Authentifizierungen sind offen.
	//
	bool OK=(name!="" && name==pwd);

	if (OK)
	{
		string sessionkey=cmdb.web.login(name,null); // !!! Hauptpunkt: ohne pwd !!!
		if (sessionkey=="") // kann passieren wenn "name" keinem Webbenutzer entspricht
		{
			Response.Write("[Standardauthentifizierung] " + cmdb.web.LastErrorText);
		}
		else
		{
			// geklappt => auf standard rimacon-start-seite weiterleiten
			Response.Redirect("start?pSessionKey=" + sessionkey);
			return;
		}
	}
	else
	{
		Response.Write("<b>[eigene Authentifizierung] Webbenutzername oder Kennwort ist ungültig!</b><br><br>");
	}
}

Response.Write("<form method=post>");
Response.Write("Name: <input name='name'><br>");
Response.Write("Kennwort <input name='pwd'><br>");
Response.Write("<input type=submit ");
Response.Write("</form>");

Testen

http://server:port/meine_firma/mein_login2