5

Estoy siguiendo el Pluralsight ASP.NET MVC 3 tutorial, módulo 7 - Seguridad (que, por cierto, es un gran tutorial) En la sección Autorización, en la marca 6:24, se muestra cómo establecer la propiedad del proyecto de SSL Enabled en true. Mi problema es que cuando entro en las propiedades del proyecto, no tengo esa opción. Solo veo Always Start When Debugging, Project File y Project Folder. ¿Alguien sabe por qué no tengo la opción de SSL Enabled, cómo podría hacer que aparezca, o una forma diferente de lograr el mismo resultado? Estoy usando Visual Studio 2010 SP1Rel.asp.net mvc 3 - no tengo la opción en las propiedades del proyecto para "SSL habilitado"

En otra lectura, vi algo sobre la configuración requireSSL="true" en el archivo Web.config, bajo la etiqueta authentication. ¿Hace esto lo mismo que establecer SSL Enabled = true en las propiedades del proyecto? Si no, ¿podría alguien dar una breve explicación de la diferencia o señalarme un buen artículo? Gracias.

Respuesta

7

simplemente me di cuenta de que esta opción está disponible si se utiliza IIS Express en el entorno de desarrollo, pero no si utilizo el servidor de desarrollo VS, que mi proyecto estaba usando. Resolví mi problema haciendo clic derecho en el proyecto en la ventana del Explorador de proyectos, luego seleccionando "Configurar proyecto para IIS" o algo por el estilo. Ahora aparece la opción para SSL Enabled en las propiedades. Por favor, this es la página web que me ayudó a resolver mi problema.

Además, aunque resolví mi pregunta principal, aún me interesarían los comentarios sobre mi pregunta secundaria.

[EDITAR] El acceso directo para configurar esto es hacer clic derecho en el nombre de su proyecto en "Solution Explorer" y hacer clic en Propiedades ... En la ventana Propiedades, haga clic en la pestaña "Web" y luego en "Servidores" cambie el cuadro desplegable a "IIS Express".

+0

¿Está usando VS Ultimate – HatSoft

+0

? No lo creo. Estoy usando VS 2010 Express SP1Rel. No estoy seguro de qué es VS Ultimate, así que supongo que no lo estoy usando. – neizan

+1

El mío estaba deshabilitado, aunque estaba usando IIS Express. Pero al cambiar a IIS normal, luego de vuelta a Express solucionó de inmediato el problema. – willem

1

La propiedad RequireSSL establecida en el archivo de configuración para una aplicación ASP.NET utilizando el atributo requireSSL del elemento de configuración de formularios.

Dado que está utilizando asp.net mvc puede marcar una acción para ser seguro

así:

[RequireHttps] 
public ActionResult Login() 
{ 
    return View(); 
} 
+0

Gracias por la respuesta . El tutorial también analiza el uso del atributo RequireHttps, por lo que creo que hay una diferencia entre este attr y la configuración de SSL Enabled = true. Tendré que profundizar más en el tutorial para ver lo que cada uno realmente está haciendo. Sin embargo, creo que encontré una respuesta a mi pregunta, que publicaré ahora. – neizan

1

Ver mi blog http://blogs.msdn.com/b/rickandy/archive/2011/04/22/better-faster-easier-ssl-testing-for-asp-net-mvc-amp-webforms.aspx
que recomiendan las pruebas con IIS 7.5 (LocalServer) - ver Test your ASP.NET MVC or WebForms Application on IIS 7 in 30 seconds La forma correcta para que requiera SSL es a través de

filters.Add(new System.Web.Mvc.RequireHttpsAttribute()); 

Ver mi blog Securing your ASP.NET MVC 4 App and the new AllowAnonymous Attribute

+1

Gracias por la información. Estoy leyendo los artículos y, a primera vista, me parecen realmente útiles. Mi aplicación es MVC 3, así que tendré que implementar clases personalizadas para obtener el efecto de AllowAnonymous MVC 4.Me gusta mucho la idea de AuthorizeAttribute global, luego decorar con AllowAnonymous para acciones específicas. – neizan

+0

AllowAnon trivial para implementar en MVC 3. Probablemente vio mi blog en http://blogs.msdn.com/b/rickandy/archive/2011/05/02/securing-your-asp-net-mvc-3- application.aspx – RickAndMSFT

+0

Claro que sí, y ya implementado. ¡Gracias! – neizan

Cuestiones relacionadas