我们已关闭系统(只有经过身份验证的用户才能使用系统(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回复它们。 为这类请求提供服务我们的入口页面没有问题。(性能首先考虑我们)
答案 0 :(得分:0)
如果您尝试访问需要身份验证的页面,用户将被重定向到一个简单的登录页面,标记为[Authorize]
。该页面的登录操作应为[AllowAnonymous]
。
您需要做的就是将其添加到web.config
:
<system.web>
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" requireSSL="true" cookieless="UseCookies"></forms>
</authentication>
</system.web>
对于跨域名称身份验证,这是一个单独的问题。我建议选择一个容纳您的用户,并将OAuth用于其他域。但是,我将在其中特定部分屈服于其他人。