0

我在我的ASP.Net网站中使用DotNetOpenAuth。我已经修改它与Facebook Connect一起使用,使用相同的方法和数据库结构。现在我遇到了一个问题。如何将FormsAuthentication.SetAuthCookie从数据访问层类传递到WebService到Javascript?

我已将Facebook Connect按钮添加到登录页面。从该HTML按钮中,我必须以某种方式从Facebook Connect连接中获取信息,并将其传递给用户身份验证方法。我目前这样做的方式是:

  1. 在FBML/HTML Facebook Connect按钮的onlogin函数上调用Javascript函数。
  2. JavaScript函数调用Web服务进行登录,它正确执行。
  3. Web服务调用我的数据访问层进行登录。
  4. 这里是问题:FormsAuthentication.SetAuthCookie设置在数据访问层。 Cookie超出了用户页面的范围,因此未在浏览器中设置。

这意味着用户进行身份验证,但用户的浏览器永远不会通知。

所以,我需要弄清楚这是否是一种不好的方式来做我所需要的,或者如果有更好的方法来完成我所需要的。我只是不确定,一直在努力寻找几个小时的答案。任何帮助你会很好。

+0

在这个问题上有什么好运? –

回答

0

是的,这听起来像是你在一次/在一个地方尝试做太多而引发的设计危机。

如果您将此操作分解为来自客户端的两个调用,则会发现您的选项开放颇多。它可能需要更多的工作,但最终的代码将不那么复杂。 < - 一件好事。

在我看来,指向设计危机的第一条线索是当我对自己说“自我,拥有认证方法在我的DAL中深埋两个电话并不按我想要的方式工作...... “大声笑....我在开玩笑,认真的同时。

好运。

相关问题