【问题标题】:How can I pass FormsAuthentication.SetAuthCookie from Data Access Layer Class to WebService to Javascript?如何将 FormsAuthentication.SetAuthCookie 从数据访问层类传递到 WebService 到 Javascript?
【发布时间】:2010-05-16 07:10:37
【问题描述】:

我在我的 ASP.Net 网站中使用 DotNetOpenAuth。我已经将它修改为与 Facebook Connect 一起使用,使用相同的方法和数据库结构。现在我遇到了一个问题。

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

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

这意味着用户已通过身份验证,但用户的浏览器永远不会收到通知。

所以,我需要弄清楚这是否是一种糟糕的方式来完成我需要的事情,或者是否有更好的方式来完成我需要的事情。我只是不确定,并且一直试图找到几个小时的答案。你能得到的任何帮助都会很棒。

【问题讨论】:

    标签: asp.net javascript cookies web-services forms-authentication


    【解决方案1】:

    是的,听起来你正面临一次设计危机,因为你试图一次/在一个地方做太多事情。

    如果您将此操作分解为来自客户端的两次调用,您会发现您的选项相当开放。这可能需要更多的工作,但最终代码将不那么复杂。

    在我看来,指向设计危机的第一个线索是当我对自己说“自我,在我的 DAL 深处隐藏两个调用的身份验证方法并没有按照我想要的方式工作......。 “大声笑....我在开玩笑和认真的时候。

    祝你好运。

    【讨论】:

      猜你喜欢
      • 2019-05-26
      • 1970-01-01
      • 2012-04-03
      • 1970-01-01
      • 2014-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-17
      相关资源
      最近更新 更多