He incluido las siguientes líneas de códigos en mis archivos Web.Config
y Glbal.asax.cs
, pero aún cuando uso herramientas de desarrollador en el navegador, las marcas de seguridad no se configuraron para las siguientes cookies. Configuraciones SSLS también configuradas en mi IIS (casilla de verificación seleccionada requireSSL).
Me gustaría establecer el atributo seguro para todas las cookies, no solo para las cookies recibidas sino también para las enviadas.
En Web.config
:
<httpCookies requireSSL="true"/>
En Global.asax.cs
:
protected void Application_EndRequest(object sender, EventArgs e)
{
if (Request.IsSecureConnection == true && HttpContext.Current.Request.Url.Scheme == "https")
{
Request.Cookies["ASP.NET_SessionID"].Secure = true;
if (Request.Cookies.Count > 0)
{
foreach (string s in Request.Cookies.AllKeys)
{
Request.Cookies[s].Secure = true;
}
}
Response.Cookies["ASP.NET_SessionID"].Secure = true;
if (Response.Cookies.Count > 0)
{
foreach (string s in Response.Cookies.AllKeys)
{
Response.Cookies[s].Secure = true;
}
}
}
}
Luego he alojado mi aplicación en IIS 7.5 en mi máquina local. Y habilitó la opción RequireSSL en la configuración SSL. Cuando hago clic en Examinar * .443 (https), puedo ver que localhost se ejecuta con HTTPS, pero cuando verifico los atributos de las cookies en el navegador, el indicador de seguridad no está establecido.
¿Me estoy perdiendo alguna configuración aquí?