我们有一个场景,我们代表其他人托管一个ASP.NET MVC网站。
在这种情况下,客户希望我们限制访问该网站的用户,以及登录其主门户网站的用户。然后,他们只能通过该门户网站的链接访问我们的网站。
此时我还不确定第三方正在使用什么技术或认证机制,只是想澄清可能的选项可能是什么。
如果我们打电话给托管网站B及其门户网站A,我认为可以:
我确定还有其他选择,任何人有什么想法吗?
答案 0 :(得分:4)
检查引荐来源对B的所有请求,除非他们来自A他们无法进入
可以伪造,但大多数普通用户都不会这样做。
检查特定的cookie(假设A使用cookie)
要求他们在您的网站中嵌入一些来自您网站的代码部分。这样访问他们的门户网站将导致您为您的域设置cookie。然后你可以在以后轻松阅读。
还有一件事需要提及。如果您正在谈论公共网站,那么搜索引擎只需要以某种方式发现这些隐藏的网址就足够了,之后游戏就结束了。它将索引页面并保留它的缓存。您可能需要考虑在这些页面中包含一些noindex / nocache元标记。
但严重的是,如果您希望正确完成并确保安全,那么您将需要某种形式的共享用户身份验证,该门户网站和您的网站都支持这种身份验证。
答案 1 :(得分:2)
您发布的解决方案并不安全。
如果这是一个对安全性有实际要求的企业应用程序,您可能需要查看一些single sign-on solutions。