В моем приложении ASPDotNetStorefront, я имитировать «фальшивый» вход - В SkinBase.cs
файле, в методе protected override void OnPreInit(EventArgs e)
Звоню функцию с кодом:ASPDotNetStorefront не может загрузить файлы ресурсов после входа
public void SetTempUserForNonLoginStore()
{
if (AppLogic.StoreID() == 2) //store which doesn't need login
{
string path = HttpContext.Current.Request.Url.AbsolutePath.ToLower();
if (path.Contains("signin.aspx") == false)
{
m_ThisCustomer = new Customer(TempCustomerID);
AppLogic.ExecuteSigninLogic(0, m_ThisCustomer.CustomerID);
string cookieUserName = m_ThisCustomer.CustomerGUID.ToString();
FormsAuthentication.SetAuthCookie(cookieUserName, true);
m_ThisCustomer.ThisCustomerSession.UpdateCustomerSession(null, null);
HttpCookie authCookie = Response.Cookies[FormsAuthentication.FormsCookieName];
if (authCookie != null && !AppLogic.AppConfigBool("GoNonSecureAgain"))
{
authCookie.Secure = AppLogic.UseSSL() && AppLogic.OnLiveServer();
}
}
}
}
И этот код работает , Но когда сессия заканчивается и «Session Expire» - появляется всплывающее окно, и пользователь нажимает «OK», ASPDNSF перенаправляется на страницу Signin.aspx. В Signin.aspx странице, я спрятался Вход-форма и добавил «Назад» - кнопка со следующим кодом:
protected void btn_GoBack_Click(object sender, EventArgs e)
{
string returnURLParam = HttpContext.Current.Request["ReturnUrl"];
if (string.IsNullOrWhiteSpace(returnURLParam))
{
returnURLParam = "~/";
}
Response.Redirect(returnURLParam);
}
Чтобы перенаправить меня на предыдущую страницу. Но когда перенаправляет меня на эту страницу, файлы .css и .js не загружаются. В инструментах Dev браузера, запросы к этим ресурсам относятся: {{DOMAIN}}/SignIn.aspx?ReturnUrl={{Resource path}}
, , например: {{DOMAIN}}/SignIn.aspx?ReturnUrl=%2FApp_Themes%2FSkin_1%2Fmystyles.css
{{DOMAIN}}/SignIn.aspx?ReturnUrl=%2Fjscripts%2Fjquery.min.js
Похоже, что эти ресурсы требуют авторизованных пользователей. Но в моем файле web.config у меня есть
<location path="jscripts">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
<location path="App_Themes">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
Так, Логин не должен быть необходим для этих ресурсов.
Спасибо!