【问题标题】:How to know if the current path is a secure path or not, in ASP.NET在 ASP.NET 中如何知道当前路径是否是安全路径
【发布时间】:2011-09-06 07:51:08
【问题描述】:

考虑一个请求被发送到这个路径:

http://domain/users/1534

这个网址是公共安全的,所以每个人都可以看到它而无需在站点中进行身份验证(无需登录)。

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

http://domain/admin/update-user

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

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

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

更新:我需要的是这样的:

SecurityHelper.ShouldCurrentRequestPathBeAuthenticated(Request.Url.AbsolutePath)

【问题讨论】:

    标签: asp.net asp.net-membership


    【解决方案1】:

    这取决于您如何实施授权流程。您需要在某个地方对其进行定义,这样您才能知道它是否是安全路径。

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

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

    UrlAuthorizationModule.CheckUrlAccessForPrincipal(virtualPath, user, verb);
    

    【讨论】:

    • 我需要一个方法。 location/security 是什么意思?查看更新。
    • 一种基于您是使用标准授权还是您有自己的逻辑的方法?
    • 标准授权(FormsAuthentication类)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    • 2021-12-08
    • 2012-06-24
    • 2014-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多