2010-08-12 3 views
1

Я ищу использовать сайт CMS с открытым исходным кодом, например WordPress или Drupal. Мне нужно это для работы с членством ASP.NET. У меня уже есть текущий сайт и сайт сообщества.Как интегрировать членство ASP.NET на PHP-сайтах?

Я предполагаю, что мне нужно гасить (вручную писать) некоторые куки, чтобы проходить туда и обратно. Итак, как бы вы это сделали? Я ищу творческие идеи о том, как сделать это гладко и надежно.

+0

И нет, я не ищу, чтобы использовать членство в MySQL ASP.NET. Я не могу изменить свой провайдер членства на сайте ASP.NET. – Banzor

ответ

3

Drupal имеет многоуровневый и подключаемый authentication system, вы можете использовать его для подключения к любой внешней системе для аутентификации.

Как отмечает комментатор, «внешняя система» может быть немного неоднозначной.

Это не должно быть какая-то система XMLRPC, REST или bus, это может быть что угодно, от текстового файла в каталоге до таблицы, заполненной устаревшими учетными записями в «локальной» базе данных MySQL. Точка, этот подключаемый уровень аутентификации позволяет любому из Drupal-users-database-table подключаться к аутентификации/регистрации разрешать/запрещать.

+0

Ну, поправьте меня, если я ошибаюсь, но он действительно не аутентифицируется против внешней системы ... что-то говорит мне, что он не против ударить локальный db для проверки, это просто вопрос, как он идет это ... idk, может быть, я здесь неправ. – jcolebrand

+1

Для Drupal не-drupal «локальная БД», тем не менее, считается «внешней системой». Возможно, я должен был быть более подробным, исправляя это в редактировании. – berkes

+0

+1 комментарий thanks;) – jcolebrand

0

Я запрашиваю базу данных для соответствующих полей, и я использую это для создания файлов cookie в коде C#, это вам поможет?

 FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
      1,       // version 
      strUser,      // user name 
      DateTime.Now,     // create time 
      DateTime.Now.AddYears(1),  // expire time 
      false,      // persistent 
      "my own data");    // user data 
     string strEncryptedTicket = FormsAuthentication.Encrypt(ticket); 
     HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, strEncryptedTicket); 
     Context.Response.Cookies.Add(cookie); 

Что касается запросов, которые будут работать, те просто и документированы, если у вас есть экземпляр aspnetdb уже с приложением asp.net, используя их, но я мог бы опубликовать больше кода, если вам нужен некоторый материал для доступа к это тоже. Вы спрашивали о cookie, так вот как я установил свои файлы cookie в C#

+0

Я делаю это, потому что у меня две формы аутентификации, но это работает для аутентификации aspnetdb в другом месте моей системы. Как только я установил cookie как это вручную, я закончил авторинг, и, как вы можете видеть, он держится в течение одного года (ну да, конечно, вы можете установить время exp, как вам нравится) – jcolebrand

Смежные вопросы