2012-08-28 71 views
0

我試圖讓我的MVC3站點從HTTPS重定向回HTTP,當用戶瀏覽到不需要的頁面時沒有登錄)。我不想承擔運行整個站點HTTPS的負載,但它看起來就像我必須去的那樣。MVC3 SSL的麻煩 - 無法從HTTPS切換到HTTP當不需要SSL時

我一直有與遠程調試和符號的麻煩負荷,但在經歷時光倒流到1985年,使用消息框當量調試與我得出以下結論:

if (filterContext.ActionDescriptor 
    .GetCustomAttributes(typeof(RequireHttpsAttribute), true) 
    .Any() 
    ) 
{ 
    return true; 
} 
return false; 

始終返回false。

控制器DEF作爲開始:

[FilterIP(
    ConfigurationKeyAllowedSingleIPs = "AllowedAdminSingleIPs", 
    ConfigurationKeyAllowedMaskedIPs = "AllowedAdminMaskedIPs", 
    ConfigurationKeyDeniedSingleIPs = "DeniedAdminSingleIPs", 
    ConfigurationKeyDeniedMaskedIPs = "DeniedAdminMaskedIPs" 
)] 
[RequireHttps] 
public class AccountController : Controller 
{ 

,它似乎並沒有在這個控制器的任何行動工作(雖然他們得到成功路由到SSL)。

有什麼建議嗎?我很樂意看到什麼我認爲作爲我自己nubery一個答案;)

+0

出於安全考慮,爲什麼要切換到非ssl?請記住,auth令牌和會話ID可以通過非SSL發送,會話劫持很容易發生。 –

回答

0

我的問題被發現與發佈到服務器的綁定有關。我們使用同一臺服務器進行舞臺和製作,並且階段https綁定未設置,所以無論何時調用https頁面,它都將解析到我們的製作網站(看起來相同,因此很難找到)。

一旦我添加了一個綁定,它就全部解決了。我的代碼沒問題...

0

Custom NotRequreHttpsAttribute tutorial

我用上面的鏈接後實現我的自定義屬性,並從HTTPS重定向到HTTP。希望這可以幫助。

+0

謝謝,雖然我想調試getcustomattributes失敗了任何建議嗎? –

+0

對不起,沒有建議。我不知道爲什麼getcustomattriutes也失敗了。 – AechoLiu