私は、ASP.NETの認証を使用していました。 MembershipProviderを使用するだけで(または独自に実装する) http://www.silverlightshow.net/items/Accessing-the-ASP.NET-Authentication-Profile-and-Role-Service-in-Silverlight.aspxにアクセスして、認証サービスの公開方法を確認してください。
その後、あなたのWCFサービスでは、あなたが(ASPでホストされている)次の操作を行います
public class MyWCFService : IMyWCFService
{
// retrieve your UserId from the MembershipProvider
private int GetUserId()
{
MembershipUser user = Membership.GetUser();
int userId = (int)user.ProviderUserKey;
return userId;
}
// check if user is authenticated
private bool IsUserAuthenticated()
{
return HttpContext.Current.User.Identity.IsAuthenticated;
}
public void Subscribe()
{
if (!IsUserAuthenticated())
{
throw new SecurityException("You must be authenticated to be able to use this service.");
}
int userId = GetUserId();
DoStuff(userId);
}
}
お役に立てば幸いです。
このソリューションの経験はありますか? –
はい。私はSL3と.NET RIA Servicesを使用しました。これは私が取り組んでいる概念証明アプリケーションですが、リモートでユーザーを作成してログオンすることができます。 – billb