2010-08-12 2 views
1

WordPress 나 Drupal과 같은 오픈 소스 CMS/블로그 사이트를 사용하려고합니다. 현재 웹 사이트 및 커뮤니티 사이트를 이미 실행하고있는 ASP.NET 멤버쉽과 함께 작동해야합니다.PHP 사이트에 ASP.NET 멤버쉽을 통합하려면 어떻게합니까?

내가 앞뒤로 통과하기 위해 일부 쿠키를 (손으로 쓴다) 숙제해야한다고 가정합니다. 그럼 어떻게했을까요? 나는 이것을 어떻게 부드럽고 안전하게 만드는 지에 대한 창조적 인 아이디어를 찾고 있습니다.

+0

아니요, 저는 MySQL ASP.NET 멤버쉽 공급자를 사용하지 않을 것입니다. ASP.NET 사이트에서 멤버 자격 공급자를 수정할 수 없습니다. – Banzor

답변

3

Drupal은 계층 적이며 플러그 가능 authentication system이며,이를 사용하여 외부 시스템에 연결하여 인증 할 수 있습니다.

commentor가 아래에서 지적한 것처럼 "외부 시스템"은 다소 모호 할 수 있습니다.

일부 XMLRPC, REST 또는 버스 시스템 일 필요는 없으며 디렉토리의 텍스트 파일에서 "로컬"MySQL 데이터베이스의 레거시 계정으로 채워진 테이블까지 어떤 것이 될 수 있습니다. 포인트입니다.이 플러그 가능한 인증 레이어를 사용하면 Drupal-users-database-table을 허용/거부 인증/등록에 연결할 수 없습니다.

+0

글쎄, 내가 틀렸다고 정정 해줘.하지만 그는 외부 시스템에 대해 진짜로 인증을하지 않았어. 무언가가 그가 로컬 DB에 유효성 검사를 걸지 않는다고 말하면, 그가 어떻게 움직일 것인가의 문제 일 뿐이야. 그게 ... idk, 아마도 내가 틀렸어. – jcolebrand

+1

드루팔 (Drupal의 경우, 드루팔 (drupal) "로컬 DB"는 그럼에도 불구하고 "외부 시스템"으로 간주됩니다. 어쩌면 좀 더 자세한 정보를 입력해야 편집 할 수 있었을 것입니다. – berkes

+0

+1 의견 감사;) – jcolebrand

0

적절한 필드에 대한 데이터베이스를 쿼리하고이를 사용하여 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); 

쿼리를 실행할 수에 관해서는, 사람들은 간단하고 당신이 그들을 사용하여 이미습니다 asp.net 응용 프로그램과 ASPNETDB 인스턴스가있는 경우 문서화,하지만 당신은에 액세스하기위한 몇 가지 물건이 필요하면 내가 더 많은 코드를 게시 할 수있는 그것들도. 당신은 쿠키에 대해 물어 보았습니다. 그래서 C#으로 쿠키를 설정하는 것입니다.

+0

두 가지 인증 형식이 있기 때문에이 작업을 수행하지만 시스템의 다른 곳에서 aspnetdb 인증을 위해 작동합니다. 일단 내가 수동으로 쿠키를 설정하면 나는 자정을 마쳤습니다. 그리고 당신이 볼 수 있듯이, 그것은 한 번에 1 년을 유지합니다 (물론 당신이 좋아하는 것은 물론 시간을 설정할 수 있습니다) – jcolebrand

관련 문제