2011-09-06 65 views
4

認爲這是一個請求發送到該路徑:如何知道當前的路徑是安全路徑與否,在ASP.NET

http://domain/users/1534 

該網址與公安,所以每個人都可以看到它而無需在網站中進行身份驗證(未登錄)。

現在考慮另一個URL應該是安全的:

http://domain/admin/update-user 

此URL是否通過認證過程。

現在,在我的代碼中,我需要知道當前路徑是否是安全路徑(請不要問爲什麼,也不要安全路徑,我不是指SSL,我只是在說關於需要登錄的路徑)。

我怎麼知道HttpContext.Request.Url.AbsolutePath是一條安全路徑?

更新:我需要的是這樣的:

SecurityHelper.ShouldCurrentRequestPathBeAuthenticated(Request.Url.AbsolutePath) 

回答

3

這取決於你如何實現授權過程。某處你需要定義它,這就是你如何知道它是否安全的路徑。

在這種情況下,標準ASP.NET將使用位置/安全設置。

如果您使用標準authentication/authorization那麼我相信您可以使用CheckUrlAccessForPrincipal

UrlAuthorizationModule.CheckUrlAccessForPrincipal(virtualPath, user, verb); 
+0

我需要一種方法。 「位置/安全」是什麼意思?查看更新。 –

+0

基於您是否使用標準授權的方法,或者您有自己的邏輯嗎? – TheCodeKing

+0

標準授權('FormsAuthentication'類)。 –

相關問題