2015-10-29 9 views
5

In Visual Studio 2015, wenn wir die MVC6 Web-Anwendung, die Eigenschaften Fenster enthält keine SSL aktiviert Eigenschaft wählen.Wie aktiviert man SSL in der MVC 6-Anwendung?

Was ist also der richtige Weg, um eine MVC6-Anwendung in SSL auszuführen?


Da wir reine HTML + JavaScript-Website mit der leeren MVC 6 Anwendung erstellen können, können wir ermöglichen SSL ohne RequireHttpsAttribute zu verwenden, die nur mit MVC kommt?

Antwort

1

In Ihrem Startup.cs options.Filters.Add(new RequireHttpsAttribute());

public class Startup 
{ 
    public IConfiguration Configuration { get; set; } 

    public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv) 
    { 
    ....... 
    } 


    public void ConfigureServices(IServiceCollection services) 
    { 
     services.AddMvc(); 

     services.Configure<MvcOptions>(options => 
     { 
      ..... 
      options.Filters.Add(new RequireHttpsAttribute()); 
     }); 
    } 

    public void Configure(IApplicationBuilder app) 
    { 
     app.UseMvc(routes => 
     { 
      routes.MapRoute(
       "default", 
       "{controller)/{action}", 
       new { controller = "Home", action = "Index" } 
       ); 
     }); 
    } 
} 
+0

Vielen Dank für die schnelle Antwort. Was ist, wenn die Anwendung nicht Mvc verwendet? Nur ein statisches HTML, wie eine reine clientseitige eckige App. Es würde kein 'RequireHttpsAttribute()' aus dem Mvc-Namespace geben. Gibt es eine universelle Methode zum Einrichten von SSL? – Blaise

+0

nicht ganz sicher, was ist der Setup-Prozess mit eckigen, nicht viele Dokumente für jetzt verfügbar ... – Milen

0

Datei Es gibt nichts, dass SSL auf der HTML/JavaScript Seite getan werden muss, vorausgesetzt, wird Ihr Web-Server zu ermöglichen, mit einem Zertifikat und richtigen Bindungen einrichten und Die Firewall ist ordnungsgemäß konfiguriert.

Wenn Sie fragen, wie Sie automatisch zu HTTPS umleiten, können Sie JavaScript verwenden. Fügen Sie so etwas in eine JavaScript-Datei ein, auf die oben auf jeder Seite verwiesen wird.

if (window.location.protocol.toLowerCase() != "https:") { 
    window.location.href = "https:" + window.location.href.substring(window.location.protocol.length); 
} 
Verwandte Themen