从我的域中填充另一个域的用户名和密码?

时间:2016-09-06 13:51:00

标签: security authentication same-origin-policy

我收到了一个请求,但找不到安全的方法来实现它。如果您知道这样做的安全方法,请告诉我。

我正在使用ASP.NET MVC开发www.abcd.com。客户端已经有一个带有身份验证系统的xyz.abcd.com域。他们希望我在www.abcd.com上创建一个页面,用户可以在其中输入用户名和密码,然后点击登录按钮,在新窗口中打开xyz.abcd.com/login页面并填充用户名和密码用户在我的页面中输入的内容。

  1. 我无法从服务器端找到办法。
  2. 如果我想在客户端进行,我认为这是针对“同源策略”的,而且,我不确定在SSL上运行www.abcd.com和xyz.abcd.com是否安全足以做这样的事情。
  3. 如果有安全的解决方案,请告诉我吗?

1 个答案:

答案 0 :(得分:0)

我认为子域应用程序(在xyz.abcd.com上)应该有明确的支持,例如从请求参数填充其字段或者可能是cookie(尽管我不愿意这样做,尤其不是如果是密码)。

如果子域应用程序不支持此功能,我认为您无法填充其字段,甚至不能填写abcd.com,更不用说来自其他域。

请注意,自动填充密码字段是一个漏洞(当然也是最佳做法),甚至应设置autocomplete =“off”以防止浏览器本身填写密码字段。< / p>

在不知道这些应用程序的上下文的情况下,我怀疑您需要某种单点登录才能实现真正的目标。