考虑将请求发送到此路径:
http://domain/users/1534
此网址处于公共安全状态,因此每个人都可以在未经网站身份验证的情况下查看该网址(未登录)。
现在考虑另一个网址应该是安全的:
http://domain/admin/update-user
此URL应通过身份验证过程。
现在,在我的代码中,某个地方我需要知道当前路径是否是安全路径(请不要问为什么,而且安全路径我不是指SSL,我只是在谈论需要登录的路径。)
我怎么知道HttpContext.Request.Url.AbsolutePath
是一条安全路径?
更新:我需要的是:
SecurityHelper.ShouldCurrentRequestPathBeAuthenticated(Request.Url.AbsolutePath)
答案 0 :(得分:3)
这取决于您如何实施授权流程。您需要在某处定义它,以便了解它是否是安全路径。
在这种情况下,标准ASP.NET将使用位置/安全设置。
如果您使用标准authentication/authorization
,我相信您可以使用CheckUrlAccessForPrincipal。
UrlAuthorizationModule.CheckUrlAccessForPrincipal(virtualPath, user, verb);