Ich möchte mich in NopCommerce von Codeplex anmelden, habe diese bei mir lokal laufen: Im Backend möchte ich mich nun anmelden, hier gibt es die Seite unter
~/Administration/Login.aspx . Der komplette Request sieht wie folgt aus:
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="%2fnop%2fAdministration%2fDefault.aspx">here</a>.</h2>
</body></html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
Your store name. Login
</title><link href="../App_Themes/administration/styles.css" type="text/css" rel="stylesheet" /></head>
<body style="background-color: #efefef;">
<form name="form1" method="post" action="Login.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="form1">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="siehe unten" />
</div>
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
<script src="/nop/WebResource.axd?d=_I2FrqfOM40snnjcITIUig2&t=633942494308226263" type="text/javascript"></script>
<script src="http://localhost/nop/Scripts/admin.js" type="text/javascript"></script>
<script src="/nop/WebResource.axd?d=e4Wxd9XE6ayT1qguoH9O7ecv93YS8h8_ECLfTJm6Yf01&t=633942494308226263" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
function WebForm_OnSubmit() {
if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false;
return true;
}
//]]>
</script>
<div>
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWBQLgsq/XBwLssfBpAu/Mx9kGAqzxsN8NAqLY+psMfpJS3AmMrMuBiIfm6oEv06RCMbM=" />
</div>
<div class="login-block">
<table id="LoginForm" cellspacing="0" cellpadding="0" border="0" style="border-collapse:collapse;">
<tr>
<td>
<table class="login-table-container">
<tbody>
<tr class="row">
<td class="item-name">
E-Mail Address:
</td>
</tr>
<tr class="row">
<td class="item-value">
<input name="LoginForm$UserName" type="text" value="admin@yourstore.com" id="LoginForm_UserName" class="adminInput" style="width: 200px;" />
<span id="LoginForm_UserNameOrEmailRequired" title="E-Mail is required" style="color:Red;visibility:hidden;">
*
</span>
</td>
</tr>
<tr class="row">
<td class="item-name">
Password:
</td>
</tr>
<tr class="row">
<td class="item-value">
<input name="LoginForm$Password" type="password" maxlength="50" id="LoginForm_Password" class="adminInput" style="width: 200px;" />
<span id="LoginForm_PasswordRequired" title="Password is required" style="color:Red;visibility:hidden;">
*
</span>
</td>
</tr>
<tr class="row">
<td class="item-value">
<input id="LoginForm_RememberMe" type="checkbox" name="LoginForm$RememberMe" checked="checked" /><label for="LoginForm_RememberMe">Remember me</label>
</td>
</tr>
<tr class="row">
<td class="message-error">
</td>
</tr>
<tr class="row">
<td>
<div class="buttons">
<input type="submit" name="LoginForm$LoginButton" value="Log in" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("LoginForm$LoginButton", "", true, "LoginForm", "", false, false))" id="LoginForm_LoginButton" class="adminButtonBlue" />
</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</table>
</div>
<script type="text/javascript">
//<![CDATA[
var Page_Validators = new Array(document.getElementById("LoginForm_UserNameOrEmailRequired"), document.getElementById("LoginForm_PasswordRequired"));
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
var LoginForm_UserNameOrEmailRequired = document.all ? document.all["LoginForm_UserNameOrEmailRequired"] : document.getElementById("LoginForm_UserNameOrEmailRequired");
LoginForm_UserNameOrEmailRequired.controltovalidate = "LoginForm_UserName";
LoginForm_UserNameOrEmailRequired.errormessage = "E-Mail is required";
LoginForm_UserNameOrEmailRequired.validationGroup = "LoginForm";
LoginForm_UserNameOrEmailRequired.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
LoginForm_UserNameOrEmailRequired.initialvalue = "";
var LoginForm_PasswordRequired = document.all ? document.all["LoginForm_PasswordRequired"] : document.getElementById("LoginForm_PasswordRequired");
LoginForm_PasswordRequired.controltovalidate = "LoginForm_Password";
LoginForm_PasswordRequired.errormessage = "Password is required";
LoginForm_PasswordRequired.validationGroup = "LoginForm";
LoginForm_PasswordRequired.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
LoginForm_PasswordRequired.initialvalue = "";
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
var Page_ValidationActive = false;
if (typeof(ValidatorOnLoad) == "function") {
ValidatorOnLoad();
}
function ValidatorOnSubmit() {
if (Page_ValidationActive) {
return ValidatorCommonOnSubmit();
}
else {
return true;
}
}
//]]>
</script>
</form>
</body>
</html>
Hier sind 2 Textboxen die ich mit den Standard Credentials übergebe, dieser Request wurde mit Fiddler abgefangen, anschließend wurde ich auf Default.aspx weitergeleitet.
Wenn ich nun mein Code die Daten übergebe, werde ich immer auf die Login.aspx weitergeleitet, wahrscheinlich da die Authentifizierung nicht geklappt hat. Es könnte an den Cookies liegen, welche nicht übertragen werden, da NopCommerce den Membership Provider verwendet.
PS: Value aus dem XML-Code
/wEPDwUJMjUzMjk5NDc2D2QWAgIDD2QWAgIBDzwrAAoBAA8WAh4IVXNlck5hbWUFE2FkbWluQHlvdXJzdG9yZS5jb21kFgJmD2QWCAIBDxYCHgRUZXh0BQ5FLU1haWwgQWRkcmVzc2QCAw8PFgIfAQUTYWRtaW5AeW91cnN0b3JlLmNvbWRkAgUPDxYGHgxFcnJvck1lc3NhZ2UFEkUtTWFpbCBpcyByZXF1aXJlZB4HVG9vbFRpcAUSRS1NYWlsIGlzIHJlcXVpcmVkHwEFUQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRkAg0PEA8WAh4HQ2hlY2tlZGdkZGRkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBRRMb2dpbkZvcm0kUmVtZW1iZXJNZXo7xsvd8cwmaARVR4pm4T3Dg/+z