2011-09-06 67 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'类)。 –

相关问题