2009-01-13 20 views
0

我有兩個項目的解決方案。在第一個項目中,我有一個帶登錄控件的網站。在第二個項目中,我有一個配置了AuthenticatonService的WCF項目。整合兩者的最簡單方法是什麼?換句話說,我如何從登錄控件調用身份驗證服務?如何從登錄控件調用AuthenticationService?

編輯:

OK,我的意思是,默認情況下,你可以在認證的登錄控制設置的MembershipProvider財產。該屬性引用machine.config或web.config中的本地定義的提供程序。

我想要的是停止使用本地定義的提供程序,而是調用遠程WCF身份驗證服務。對不起,我沒有說清楚。

回答

1

好吧,

最後我明白了。這是我做過什麼:

  • 添加服務引用到WCF網址:

    http://localhost:8080/servicios/MiServicio.svc

  • 重置了Login控件的成員資格提供財產。這實際上是尋找與VS 2008(SQLEXPRESS)一起安裝的默認membershipprovider。

  • 實施身份驗證事件。必須完成此操作才能覆蓋使用默認成員資格提供程序進行身份驗證的默認行爲並執行自定義身份驗證。在這個事件中,創建一個proxy authenticationservice類的實例並調用Login方法。

proteted void login_Authenticate(object sender, AuthenticateEventArgse){ AuthenticationServiceClient client = new AuthenticationServiceClient(); e.Authenticated = client.Login(login.UserName, login.Password, "", true); }

1

我相信這是你在找什麼:Exposing WCF Services to Client Scripts

+0

謝謝,我通過tutotorial去了。雖然它幫助我配置身份驗證服務,但它並未顯示如何從遠程網站調用服務(即登錄控制) – 2009-01-13 15:24:43

+0

如果是Web服務,您只需公開公開它以供遠程網站使用。或者我誤解了這個問題? – 2009-01-13 15:39:18

0

我認爲你需要編寫一個membership provider,該方法的ValidateUser期間調用您的身份驗證服務。

AuthenticationService允許您使用ASP.NET Membership系統對其他應用程序中的用戶進行身份驗證 - 而不是提供在網站上驗證用戶身份的機制。