在安全网站上为匿名用户提供入口页面的最佳策略(以及如何)?

时间:2014-02-23 00:37:34

标签: asp.net-mvc

  • 我们已关闭系统(只有经过身份验证的用户才能使用系统(FormAuthentication))

  • 未经身份验证的用户必须看到带有登录选项的入口页

  • 我们的网站是多租户(x.com,y.com,z.com在同一个网络应用程序上运行)

我们可以这样想:

  • RouteConstraint(匿名用户被路由到不同的控制器操作,并且该操作是outputcached。

  • CustomOutputCaching:How to turn output caching off for authenticated users in ASP.NET MVC?

  • IIS级别(可能在web.config上)。我们可以将所有未经身份验证的用户路由到入口页面(我们不知道如何)(它必须是多租户和outputcached!)

我们可以想到这些。我们的第一个目标是表现。

修改

当未经身份验证的用户尝试输入经过身份验证的页面时,必须获得404错误或root ur方向(不是登录重定向)

PS:

有时候我们可以得到未经验证的奇怪网络请求(不是ddos但很无聊......)我们用404回复它们。 为这类请求提供服务我们的入口页面没有问题。(性能首先考虑我们)

1 个答案:

答案 0 :(得分:0)

如果您尝试访问需要身份验证的页面,用户将被重定向到一个简单的登录页面,标记为[Authorize]。该页面的登录操作应为[AllowAnonymous]

您需要做的就是将其添加到web.config

<system.web>
    <authentication mode="Forms">
        <forms loginUrl="~/Account/Login" requireSSL="true" cookieless="UseCookies"></forms>
    </authentication>
</system.web>

对于跨域名称身份验证,这是一个单独的问题。我建议选择一个容纳您的用户,并将OAuth用于其他域。但是,我将在其中特定部分屈服于其他人。