1
サービス参照をmy windows 8アプリケーションに追加しようとしています。しかし、asmxファイルは、特定のロールを持つユーザがログインできるフォルダの中にあります。保護されたフォルダのように、私はまた、Webサイトのasp.netメンバーシッププロバイダを使用しています。この参照を追加するにはどうすればいいですか?アプリケーションへのサービス参照の追加
ありがとうございました。
サービス参照をmy windows 8アプリケーションに追加しようとしています。しかし、asmxファイルは、特定のロールを持つユーザがログインできるフォルダの中にあります。保護されたフォルダのように、私はまた、Webサイトのasp.netメンバーシッププロバイダを使用しています。この参照を追加するにはどうすればいいですか?アプリケーションへのサービス参照の追加
ありがとうございました。
サービスユーザーを認証する簡単な方法がありますが、これにより問題が解決されるはずです。
まず、サービスをパブリックフォルダに置いてください。パブリックフォルダには、まったく権限がありません。これにより、問題なくWindows 8アプリから参照を追加することができます。
次に、あなたのサービスでは、ユーザーを認証するためのメソッドを作成します。
public bool Login(string UserName, string Pwd)
{
// validate the user and create the forms cookie upon succesfull validaition
if (IsValid(UserName, Pwd))
{
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(...);
string CookieName = FOrmsAuthentication.FormsCookieName;
string CookieValue = ticket.Encrypt();
this.Response.Cookies.Add(new HttpCookie(CookieName, CookieValue));
}
}
このパブリックメソッドは、あなたのWindows 8アプリを呼び出す必要があります最初の方法になります。
次に、あなたはPrincipalPermission
属性を持つ他のすべてのサービスメソッドを保護:
[PrincipalPermission(Roles="Admin, User")]
public TheMethodForAdminOrUser()
{
// do whatever you want
}
Login
メソッドへの有効な呼び出しで認証されたユーザーのみがアクセスできるようになりますように、あなたのサービスメソッドの呼び出しを守るだろう
属性あなたサービス。
私はいくつかのWebメソッドでHttpContextを使用していると、現在のユーザーがログインしていることを識別するために、Windows 8アプリケーションがセッションIDや各要求を送信する必要はありません。クライアント? – user1027620
すべての呼び出しにSAMEプロキシインスタンスを使用する限り、プロキシはセッションIDを含むCookieを含むすべてのCookieを保持します。 –
素晴らしいです、ありがとうございます。 – user1027620