Я создаю приложение silverlight, размещенное в ASP.NET Web App. / IIS7 / веб-сайт с поддержкой SSL.
В целях безопасности я поместил свою страницу Silverlight в папку «Члены» в веб-приложении ASP.NET и ограничил доступ от анонимных пользователей (см. Web.config ниже)
когда пользователи пытаются получить доступ к страницам в папке «Участники», они перенаправляются на https://www.ssldemo.com/authenticationtest/login.aspx. (см. Web.config ниже)
(Я сопоставил www.ssldemo.com с 127.0.0.1).
для безопасности я переключаюсь на HTTPS в login.aspx и обратно на HTTP после проверки.
ниже приведен код для login.aspx.cs.
protected void Page_Load(object sender, EventArgs e)
{
LoginControl.LoggedIn += new EventHandler(LoginControl_LoggedIn);
}
void LoginControl_LoggedIn(object sender, EventArgs e)
{
//for going to ReturnURL & switching back to HTTP
string serverName = HttpUtility.UrlEncode(Request.ServerVariables["SERVER_NAME"]);
string returnURL = Request["ReturnURL"];
Response.Redirect(ResolveClientUrl("http://" + serverName + returnURL));
}
Проблема в том, что при развертывании другого приложения на http://www.ssldemo.com/authenticationtest/members/AnotherApplication/
и откройте http://www.ssldemo.com/authenticationtest/members/AnotherApplication/default.aspx,
Пользователи перенаправляются на https://www.ssldemo.com/authenticationtest/login.aspx?ReturnUrl=%2fauthenticationtest%2fmembers%2fanotherapplication%2fdefault.aspx.
но даже когда я ввожу правильные учетные данные на странице входа, я снова перенаправляюсь на ту же страницу входа , а не на ReturnUrl. когда я заглянул в скрипач, там было написано: «302 объект переехал сюда».
Спасибо за чтение! Любой вклад будет высоко ценится.
<configuration>
<connectionStrings>
<add name="CompanyDatabase" connectionString="Data Source=192.168.0.2;Initial Catalog=SomeTable;User ID=Username;Password=P@ssword" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="Forms">
<forms slidingExpiration="true" timeout="15"
loginUrl="https://www.ssldemo.com/authenticationtest/login.aspx"
defaultUrl="~/Members/Default.aspx"
>
</forms>
</authentication>
<!--Custom Membership Provider-->
<membership defaultProvider="MyMembershipProvider" userIsOnlineTimeWindow="15">
<providers>
<clear />
<add name="MyMembershipProvider"
type="AuthenticationTest.Web.MyMembershipProvider"
connectionStringName="CompanyDatabase"
applicationName="AuthenticationTest.Web"/>
</providers>
</membership>
</system.web>
<!--securing folders-->
<location path="Members">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
</configuration>