私は既存のアプリケーションにSilverlightサイトを統合しようとしており、ログイン機能を有効にしようとしています。 Silverlightアプリケーションには独自のログインページが必要です。ログインには既存のASP.NETフォーム認証を使用する必要があります。ログインプロシージャの一部として、いくつかの外部コードが呼び出されているため、System.Web.ApplicationServices.AuthenticationServiceが公開するスクリプト可能なメソッドを使用することはオプションではありません。これを行うにはFormsAuthentication.Authenticateを使用しようとしましたが、動作しませんでした。誰かがこれを回避する方法に関するアイデアを持っていますか?カスタムWebサービスでユーザを認証するにはどうすればよいですか?
2
A
答えて
2
フォーム認証サポートを実装できるラッパーwebseviceを作成する必要があるように聞こえます。
[ServiceContract]
public interface IAuthenticationService
{
[OperationContract()]
string Login(string username, string password, bool isPersistent);
[OperationContract()]
bool Logout();
[OperationContract()]
string IsLoggedIn();
}
をして、私の実装では、カスタムコードを呼び出すことができます。
この
は、例えば、私は私のSilverlightクライアントによって参照されている次のインターフェイスでWCFサービスを作成しましたので、私がやったものですそしてまた、あなたが持っている可能性がログインするたとえば、フォーム認証APIを使用します。try
{
//Call you external code here
//Then use the membership provider to authenticate
if (Membership.ValidateUser(username, password))
{
FormsAuthentication.SetAuthCookie(username, isPersistent);
}
}
catch (Exception ex)
{
Logging.LogException("Error in Login", ex);
}
はまた、あなたがasp.netのcompatが与えるどの有効になっているために、あなたのサービスの実装に使用するクラス定義の上に次の属性を含める必要はありませんあなたがアクセスするHttpContext:
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
0
解決方法は簡単です。カスタムコードを呼び出すカスタムメンバーシッププロバイダを作成するだけです。詳細については、this article on MSDN libraryを参照してください。また、15 secondsとwalkthrough video on the ASP.NET websiteで入手できるサンプルもあります。最後に、内蔵メンバーシッププロバイダのMicrosoft has released the sourceと表示されます
関連する問題
- 1. カスタムWebアプリケーションがADユーザーの認証に使用できる認証用のWindowsサービスを作成するにはどうすればよいですか?
- 2. PHPでのユーザ認証にはどうすればよいですか?
- 3. NTLMを使用してWCF Webサービスでコンソールアプリケーションを認証するにはどうすればよいですか?
- 4. REST Webサービスでユーザーを認証するにはどうすればよいですか?
- 5. Webサービス・リスナー・ソースでカスタム・サービスを使用するにはどうすればよいですか?
- 6. jQueryを使用してWindows認証をWebサービスに渡すにはどうすればよいですか?
- 7. Google Cloud Endpointsでサービス間認証を確認するにはどうすればよいですか?
- 8. コアデータでカスタム検証を行うにはどうすればよいですか?
- 9. cgi pythonスクリプトで基本認証ユーザ名を取得するにはどうすればよいですか?
- 10. AZUREポータルのWebテストに認証証明書を追加するにはどうすればよいですか?
- 11. すでにプロジェクトに登録されているユーザ認証を電子メール認証に変更するにはどうすればよいですか?
- 12. ユーザがdjangoのbase.htmlで認証されているかどうかを確認するにはどうすればよいですか?
- 13. WebページでRESTまたはSOAP Webサービスが使用されているかどうかを確認するにはどうすればよいですか?
- 14. ASP.net IdentityをサードパーティのRESTサービスで認証に使用するにはどうすればよいですか?
- 15. SignalR(.NETクライアント)でカスタム基本認証を使用するにはどうすればよいですか?
- 16. grails spring-security-restプラグインでカスタム認証例外を処理するにはどうすればよいですか?
- 17. Google認証エンジンで認証と承認を変更するにはどうすればよいですか?
- 18. DataminderでWebサービスのデフォルトhttps証明書を変更するにはどうすればよいですか?
- 19. リアクションナビゲーションアプリでユーザーを認証するにはどうすればよいですか?
- 20. Webサービスを模擬するにはどうすればよいですか?
- 21. ユーザ名とパスワードの横の追加フィールドを認証するにはどうすればよいですか?
- 22. Azure Webロールでカスタム基本認証とフォーム認証を組み合わせるにはどうすればよいですか?
- 23. リモートWebサイトのためにアンドロイドで認証を処理するにはどうすればよいですか?
- 24. POST OAuth2認証リクエストにWeb API 2でSwaggerを設定するにはどうすればよいですか?
- 25. サービスサーバ認証サービスでIdentity Server 3を使用するにはどうすればよいですか?
- 26. 異なるSpring Webアプリケーション間で認証を統合するにはどうすればよいですか?
- 27. ユーザがルータで認証されているかどうかを非同期で確認するにはどうすればいいですか?
- 28. クロスドメインアクセスでWebサービスを利用できるようにするにはどうすればよいですか?
- 29. クロスネットワークWCFサービス認証 - それを行うにはどうすればよいですか?
- 30. Delphi SOAP WebサービスクライアントでNTLM認証を使用するにはどうすればよいですか?
正確にはこのWebサービスはどこですか? –
これは非常に重複のように見えます:http://stackoverflow.com/questions/890310/silverlight-asp-net-wcf-authentication-2-0 –
問題は似ていますが、私はこれらのソリューションを使用することはできません私はログインする前に外線通話をする必要があります。 –