Unsere ASP.NET-Anwendungsseiten werden als Feature in einer MOSS 2007-Farm bereitgestellt.Zugriff verweigert Anmeldung als anderer Benutzer
Wenn sich ein Benutzer bei der Site anmeldet, wird der Benutzer auf eine Standardseite weitergeleitet.
In der oberen rechten Ecke gibt es eine Option "Als anderer Benutzer anmelden". Wenn der Benutzer diese Option auswählt und die Anmeldeinformationen eines anderen Benutzers eingibt, wird die Meldung "Zugriff verweigert" angezeigt.
Diese Nachricht ist nicht sinnvoll, da alle Benutzer Zugriff auf diese Standardseite haben. Wenn der Benutzer nun zur Adressleiste wechselt und die URL manuell zur Standardseite ändert, wird die Seite geladen. Ich kann im Quellenteil der URL "Zugriff verweigert" sehen, dass die codierte URL der Zielseite die erwartete Standardseiten-URL ist.
Zuvor habe ich eine Änderung an der Datei INIT.JS vorgenommen, um den Benutzer umzuleiten, wenn die Änderung der Anmeldung von einer Seite erfolgt, die nicht die Standardseite ist.
function LoginAsAnother(url, bUseSource)
{
document.cookie="loginAsDifferentAttemptCount=0";
if (bUseSource=="1")
{
GoToPage(url);
}
else
{
var ch=url.indexOf("?") >=0 ? "&" : "?";
//url+=ch+"Source="+escapeProperly(window.location.href);
url+=ch+"Source="+escapeProperly(getSspLocation(window.location.href));
STSNavigate(url);
}
}
Die ursprüngliche Zeile ist auskommentiert.
Die Funktion getSspLocation
ist nur eine Funktion, die ich schrieb, um die Standard-Seiten-URL von einer anderen URL zu erhalten.
function getSspLocation(url) {
var parts = url.split('/');
var result = "";
for (var i = 0; i < parts.length; ++i) {
result += parts[i] + "/";
if (parts[i].toLowerCase() == "ssp")
return result + "default.aspx";
}
return url;
}
Irgendwelche Ideen?
Nicht mit der Frage verwandt, aber wie würden Sie Ihr benutzerdefiniertes Skript z. die LoginAsAnother Funktion? –
@Hans Sie können es überschreiben, indem Sie Ihrem benutzerdefinierten Skript eine Funktion mit demselben Namen hinzufügen. –
Die Verwendung desselben Namens scheint das Problem der Fragilität bei Service Packs nicht zu lösen. –