在ASP.NET中如何知道当前路径是否是安全路径

时间:2011-09-06 07:51:09

标签: asp.net asp.net-membership

考虑将请求发送到此路径:

http://domain/users/1534

此网址处于公共安全状态,因此每个人都可以在未经网站身份验证的情况下查看该网址(未登录)。

现在考虑另一个网址应该是安全的:

http://domain/admin/update-user

此URL应通过身份验证过程。

现在,在我的代码中,某个地方我需要知道当前路径是否是安全路径(请不要问为什么,而且安全路径我不是指SSL,我只是在谈论需要登录的路径。)

我怎么知道HttpContext.Request.Url.AbsolutePath是一条安全路径?

更新:我需要的是:

SecurityHelper.ShouldCurrentRequestPathBeAuthenticated(Request.Url.AbsolutePath)

1 个答案:

答案 0 :(得分:3)

这取决于您如何实施授权流程。您需要在某处定义它,以便了解它是否是安全路径。

在这种情况下,标准ASP.NET将使用位置/安全设置。

如果您使用标准authentication/authorization,我相信您可以使用CheckUrlAccessForPrincipal

UrlAuthorizationModule.CheckUrlAccessForPrincipal(virtualPath, user, verb);