认证来自另一个站点

问题描述:

嗨我试图验证从其他网站我已经在MVC3 .NET C#我的解决方案,其他网站使用这个岗位作为认证:认证来自另一个站点

http://www.othersite.com/Account/logInToCMS?username=UNAME&password=PWD

我尝试以下

<form method="post" > 
<input name='username' /> 
<input name='password' /> 
<div class="button"><%: Ajax.ActionLink("Login", "http://www.othersite.come/Account/logInToCMS" , new AjaxOptions { HttpMethod = "POST" })%></div> 
</form> 

但响应会导致一个错误:

“NetworkError:400错误的请求 - http://localhost:50505/account/http%3a/www.othersite.com/Account/logInToCMS

所以,如果我能以某种方式删除的‘http://本地主机:50505 /帐号/’的一部分,将工作

+0

如果它是另一个web应用程序...只是使用普通的URL ...不要使用助手。您可以随时在web.config中拥有该登录URL来随时更改它。 – Romias 2011-12-21 15:03:55

Ajax.ActionLink旨在通过对您的形式存在于Web应用程序指定ActionController使用。如果你看一下Ajax.ActionLink的方法重载,你会看到,你必须至少指定Action。当你打电话给ActionLink时,你所说的基本上是你要拨打的Action被称为http://www.othersite.come/Account/logInToCMS ......这当然是不正确的。

如果您正在使用jQuery再看看在jQuery.Ajaxjsonp交叉域名脚本。

+0

那么有什么选择? – 2011-12-21 16:03:49

+0

@CharbelWakim看起来像我更新了一个选项与您的评论同时。如果你还没有使用jQuery,我强烈建议你开始。干杯 – Craig 2011-12-21 16:09:20

将一个HTML提交按钮,并给URL作为HTML表单的‘动作’属性。

+0

你能否详细说明答案? – 2011-12-21 14:51:41

+0

@CharbelWakim认为他正在通过设置action属性来更新你的表单标签,就像这个'

'...然后使用一个提交按钮来提交表单。 – Craig 2011-12-21 15:31:09
+0

@Craig如果我这样做,我会得到一个白页与响应,这就是为什么我需要使用ajax – 2011-12-21 16:03:09