2013-02-07 54 views
0

我知道這可能會受到項目設置和其他一些事情的影響,但只是想知道我最好的做法是什麼。根據當前會話和計劃限制網址

我有一個網絡應用程序,有3個計劃:免費,臨和Prem。在免費計劃中,我想限制用戶訪問特定的網址。

用戶可以更改計劃,因此如果他們堅持使用免費計劃,那麼他們不會看到其他網址。但如果他們升級然後降級,他們可能訪問了其他一些URL。

在我所有的控制器中,我都有我需要的關於用戶的所有信息,例如他們的計劃和他們試圖查看的URL。

我對這種事情不是很熟悉,所以我的第一個想法是通過URL來控制它的URL。例如,在我的控制器操作中,免費計劃用戶無法查看,查看他們的計劃,免費計劃將其重定向到404頁面或其他內容。

這是一個很簡單的方法,但我只是想知道是否有更好的方法呢?

+1

不同於論壇的網站,我們不使用「謝謝」,或者「任何幫助表示讚賞「,或簽名[so]。請參閱「[應該'嗨','謝謝',標語和致敬從帖子中刪除?](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be -removed-from-posts)。 –

+0

很酷,感謝您的更新。請嘗試並在未來繼續! – Colin

回答

2

聽起來像是你想添加一個[Authorize] attribute於需要比你的免費級別的訪問級別更高的控制方法,例如:

public ActionResult ViewForAllUsers() { 
    return View(); 
} 

[Authorize(Roles = "Prem, Pro")] 
public ActionResult ViewForPremAndPro() { 
    return View(); 
} 

[Authorize(Roles = "Pro")] 
public ActionResult ViewForProOnly() { 
    return View(); 
} 
+0

是的好主意,謝謝。 – Colin