2012-01-01 55 views
1

我有一個使用自定義HDI會員供應商登錄和註冊表單的網站,用戶可以登錄或註冊新帳戶。使用HDI會員供應商在Winforms中創建新用戶

現在我有一個桌面軟件,並試圖對登錄兩種形式,並註冊在我的用戶能夠通過訪問網站登錄或註冊爲方便用戶,而不是使他們在網上註冊。

所以,我有這些知道才能走得更遠。

1)我可以使用HDI成員提供如我在我的web應用程序中使用它? 如果是的話我該怎麼做?

正如前面我已經做了,我面臨的許多問題,仍然沒有得到澄清here

2)如果沒有,我怎麼才能利用同一HDI會員使用。

最後,我需要使用相同的數據庫,我的桌面軟件,以及我的web應用程序與所有的可能性(即我需要驗證我的會員類的每個參數)。

我能夠註冊用戶,但它不使用Membership,我無法知道它爲什麼不拿起從app.config文件中成員提供。

再次我提供我的用戶數據庫結構:

enter image description here

+0

您能否提供有關您從哪裏獲得此會員供應商(無論是從網站還是自制的)以及是否基於標準MS會員供應商架構的信息? – 2012-01-01 17:08:19

+0

這是從微軟Asp.Net我如何影片?這是鏈接http://www.asp.net/web-forms/videos/how-do-i/how-do-i-create-a-custom - 會員供應商 – coder 2012-01-01 17:11:26

+0

好的,那是個好消息。您應該能夠使用我答案中的步驟來解決您的問題。 – 2012-01-01 17:20:44

回答

2

您可以使用在Windows中標準成員提供相當容易窗體應用程序。

然而,如果沒有HDI會員提供來源的更多細節,將很難提供確切說明。

你可以試試下面的說明,看看他們是否會爲你工作:

1)添加到System.Web程序引用您的Windows窗體應用程序。

2)添加Imports System.Web.Security到您要使用的提供程序的代碼文件(S)。

3)像在網上那樣調用Membership方法,即Memebership.ValidateUser(user, password)

4)將system.web塊添加到您的Windows Forms app.config文件(在configuration部分中),然後將membership塊從web.config文件複製到此塊。例如:

<configuration> 
    <system.web> 
    <membership defaultProvider="HDIMembershipProvider"> 
     <providers> 
     <clear/> 
     <add name="HDIMembershipProvider" type="frmStartup.HDIMembershipProvider, frmStartup"/> 
     </providers> 
    </membership> 
    </system.web> 
</configuration> 

5)您可能需要添加一個引用到裝配,項目或包含HDI成員資格提供代碼。

更新

您的應用程序。配置有兩個問題:

1)appSettings部分必須完全如下(您當前的appSettings有「應用程序名稱」作爲重點,而你的代碼使用「應用程序名稱」):

<appSettings> 
    <add key="ApplicationName" value="/gAnnotation" /> 
</appSettings> 

2)會員部分必須完全如下(類型必須指定完全限定的類型名稱後面跟着程序集的名稱,種類生活在和defaultProvider必須在增加供應商的名稱一致):

<membership defaultProvider="HDIMembershipProvider"> 
    <providers> 
    <clear/> 
    <add name="HDIMembershipProvider" type="frmStartup.HDIMembershipProvider, frmStartup"/> 
    </providers> 
</membership> 

如果您完全修改你的app.config如上所示,你的應用程序將工作(我已經測試過它並驗證創建用戶並登錄作品)。

+0

@ Competent_tech-我同意你的看法,因爲這是完美的答案,我已經做了同樣的事情,你在上面引用我以前的問題在這裏http://stackoverflow.com/questions/8692694/how-to-add- 8692777#8692777我能夠註冊並且一切都很順利,但它並沒有從app.config中取得成員資格提供者,因爲我有一個應用程序名稱,它在數據庫結構中設置爲非空,但不提供它雖然我在app.config文件中提到應用程序名稱,但它不接受任何新用戶創建。 – coder 2012-01-01 17:23:45

+0

正如我在前面的問題中,我回答了我自己的問題如果你能檢查一下,我很容易就能理解我的意思。 – coder 2012-01-01 17:25:53

+0

我已經提供了一個新的答案給你的上一個問題,它展示瞭如何從app.config中設置和檢索應用程序名稱。你可以編輯你的問題,包括你的完整app.config?我懷疑那裏可能有一些問題。 – 2012-01-01 17:38:26