Bir madenin meslektaş ve ben bu baktım ve iyi bir çözüm buldu inanıyoruz. Bu RequireHttpsAttribute uzatarak çalışır
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = false)]
public class HttpsRequiredAttribute : RequireHttpsAttribute
{
protected override void HandleNonHttpsRequest(AuthorizationContext filterContext)
{
// Check to see if we're secure
string requirestr = ConfigurationManager.AppSettings["RequireHttps"];
bool require;
if (bool.TryParse(requirestr, out require) && require)
base.HandleNonHttpsRequest(filterContext);
}
}
ve AttributeTargets belirtildiği gibi, bir sınıf veya yöntem uygulanabilir: Burada ile geldi budur. Ardından RequireHttpsAttribute'deki sanal işlevi geçersiz kıldık. Yöntemin yaptığı, "RequireHttps" adlı bir anahtar için Web.config dosyasını kontrol etmektir. (Ne bool.tryparse çekler olan) o bulamıyorum, ya da geçersiz bool değeri varsa, o zaman Https gerektirmez. Değeri true olarak bulursa, HTTPS gerektirir.
Bu uzantıyı kullanırsanız, şöyle "RequireHttps" adlı Web.config anahtar eklemek gerekir: <add key="RequireHttps" value="true"/>
Ardından sizi için bu değişkeni değiştirerek Https gereksinimini kapatabilirsiniz hata ayıklama yeniden veya siteniz dağıtıldığı yerde gereksinimi olması Web.config dosyasını değiştirerek'.
Serin teşekkür Bertrand! mvc hayatı kolaylaştırıyor :) –
Oturum açtıktan sonra, soru başına, http kullanarak açık bir şekilde bir sonraki sayfaya yönlendirmelisiniz. Bu şekilde, tüm zamanlar https'de kalmıyorlar. – Jab
Bir sonraki sayfaya http: RedirectToAction() ile mümkün mü? – pramodtech