2010-08-12 59 views
1

我正在尋找使用像WordPress或Drupal這樣的開源CMS /博客網站。我需要它與ASP.NET會員一起工作,我已經運行了我的當前網站和社區網站。如何在ASP.NET網站中集成ASP.NET成員資格?

我假設我需要用(手寫)一些cookie來回傳遞。那麼你將如何做到這一點?我正在尋找關於如何使這個過程順利和安全的創意。

+0

而且不,我不想使用MySQL ASP.NET成員資格提供程序。我無法在ASP.NET網站中修改我的Membership Provider。 – Banzor 2010-08-12 16:44:16

回答

3

Drupal具有分層和可插入authentication system,您可以使用它連接到任何外部系統進行身份驗證。

正如以下評論指出的,「外部系統」可能有點模糊。

它不一定是XMLRPC,REST或總線系統,它可以是任何東西,從目錄中的文本文件到填充了「本地」MySQL數據庫中的舊帳戶的表。 需要指出的是,這個可插入的認證層允許任何沒有Drupal-users-database-table掛鉤在允許/不允許認證/註冊中。

+0

那麼,糾正我,如果我錯了,但他並不真正對外部系統進行身份驗證......有些事告訴我他不介意打本地數據庫進行驗證,這只是他如何去它...... idk,也許我在這裏錯了。 – jcolebrand 2010-08-12 19:02:02

+1

對於Drupal,非Drupal「本地數據庫」仍被視爲「外部系統」。也許我應該更加冗長,在編輯中糾正這一點。 – berkes 2010-08-12 19:16:21

+0

+1評論感謝;) – jcolebrand 2010-08-12 19:44:39

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 2010-08-12 19:49:11