Как я могу передать FormsAuthentication.SetAuthCookie из класса уровня доступа к данным в WebService в Javascript? - PullRequest
0 голосов
/ 29 января 2010

Я использую DotNetOpenAuth на моем веб-сайте ASP.Net. Я изменил его для работы с Facebook Connect, используя те же методы и структуры базы данных. Теперь я столкнулся с проблемой.

Я добавил кнопку Facebook Connect на страницу входа. С этой кнопки HTML я должен каким-то образом извлечь информацию из соединения Facebook Connect и передать ее в метод аутентификации пользователя. В настоящее время я делаю это следующим образом:

  1. Вызов функции Javascript для функции onlogin кнопки FBML / HTML Facebook Connect.
  2. Функция javascript вызывает веб-сервис для входа в систему, что она делает правильно.
  3. Веб-сервис вызывает мой уровень доступа к данным для входа в систему.
  4. И вот проблема: FormsAuthentication.SetAuthCookie устанавливается на уровне доступа к данным. Файл cookie выходит за рамки страницы пользователя и поэтому не устанавливается в браузере.

Это означает, что пользователь аутентифицирован, но браузер пользователя никогда не уведомляется.

Итак, мне нужно выяснить, если это плохой способ делать то, что мне нужно, или есть лучший способ выполнить то, что мне нужно. Я просто не уверен и пытался найти ответы часами. Любая ваша помощь была бы великолепна.

1 Ответ

0 голосов
/ 03 марта 2010

Да, звучит так, как будто у вас возник кризис проектирования, когда вы пытаетесь сделать слишком много за один раз / в одном месте.

Если вы прервете эту операцию до двух звонков от клиента, вы обнаружите, что ваши опции открываются совсем немного. Это может занять больше работы, но в конечном итоге код будет менее сложным. <- хорошая вещь. </p>

И, на мой взгляд, первая подсказка, указывающая на кризис проектирования, была бы, когда я сказал себе: «Я, метод аутентификации, похоронивший два вызова глубоко в моем DAL, не работает так, как мне хотелось бы ...» "LOL .... Я шучу и серьезно в то же время.

Удачи.

...