私は、当社の製品に SSO を実装する方法を見つけることを任されています。いくつかの Winform アプリケーションと 1 つの asp.net 4.0 Web アプリ (MVC ではない) があります。
すべての製品は .Net 4.0 を使用して構築されており、Web アプリは ASP.NET 4.0 です。一部の Winform は Web サービス (asmx) を介して API と通信し、一部は API を直接使用します。Web アプリも同じ API を使用しています。同じ API を使用する一連の Web サービス (asmx) を外部クライアントに提供します。
現在、システムには独自の認証実装 (ユーザー、パスワード、ロール) があり、それを SSO に置き換えたいと考えています。それとも、これら 2 つの認証制度は何らかの形で共存できるのでしょうか? Winforms はイントラネットで使用され、Web アプリはイントラネットの両方で使用され、クライアント (インターネットからアクセス可能) 用の Web アプリもホストします。
ユーザーは当社のシステムで作成されますが、同時に独自のツールを使用して Active Directory からユーザーをインポートします。Active Directory は実際には主要なユーザー ソースです。
Windows Identity Foundation について読んだことがありますが、それを使用して SSO を実装できるかどうか疑問に思っています。しかし、私が理解していないのは、API を直接使用するときに winform アプリケーションで WIF を使用する方法です。
私が達成したいことは、システムからすべてのユーザー管理を取り除き、Active Directory をユーザー ソースとして使用することです。これは、ADFS 2.0 を使用してクレームなどを作成することを意味していると思います。
この実装では .Net Framework 4.5 を使用できます (WIF が .Net Framework 4.5 の第一級市民になったことはわかっています)。
これを行う方法に関するアドバイスはありますか?WIF は、winforms アプリケーションと Web アプリで SSO を実現するための最良の代替手段ですか?