2009-11-27 81 views
0

當用戶登錄時,我檢查是否有返回url,如果是這樣,我重定向到它,根據MVC應用程序模板。檢查用戶是否有權訪問url(用於登錄返回url)

if (!String.IsNullOrEmpty(returnUrl)) 
{   
    return Redirect(returnUrl); 
} 

我怎麼會檢查這個網址是有效的(路由控制器/動作),並且用戶有權限訪問它? 我的操作全部使用標準授權屬性進行保護。

感謝您的幫助,

+0

雖然我接受你可能有很好的理由想要這樣做,但我會問一個問題,如果用戶無法訪問所說的(儘管有效)URL,你會怎麼做? – Lazarus 2009-11-27 09:24:52

+0

將它們重定向到標準登錄頁面 - 這是爲了說明不同用戶已註銷的情況,並且返回URL設置爲下一個登錄用戶無權訪問的頁面(不同角色)。我不希望他們看到我的標準「沒有權限」頁面,而是我希望他們重定向到該類型用戶的標準登錄頁面 – stew 2009-11-27 09:33:43

+0

2用戶如何共享相同的ReturnURL?他們使用同一臺機器嗎? – 2009-11-27 13:00:11

回答

0

你通常會通過不是你的代碼中的web.config文件保護特定的URL。請參閱article

+0

我並沒有試圖保護網址(這是通過使用mvc authorize屬性完成的),只是提出了一個不同的漂亮頁面來'你沒有權限訪問這個網址',但僅限於當用戶首次登錄時,在(儘管不太可能)的事件中,他們將返回的網址設置爲他們無權訪問的網站區域。 – stew 2009-11-27 09:36:59