私は、.NET ベースの Web アプリと同じサーバー上で実行される .NET Web サービスへの Soap 呼び出しを行う PHP Web サイトを持っています。この Web アプリは、それ自体で Web アプリとして機能するだけでなく、そのデータベースからいくつかの情報を提供します。 PHP サイト。PHP/Wordpress サイトは、情報ポータル + ログインの背後にあるランディング ページ上の一連の静的 PDF ドキュメントであり、.NET Web アプリとは別のサーバーでホストされています。一般的なユーザーは、PHP サイトのログイン フォームを使用して認証し、.NET アプリと Web サービスをホストするサーバーに対して Web サービス呼び出し (Web メソッドは以下に示します) を行います。Web サービス呼び出しの結果に基づいて、静的ドキュメントへのリンクを含むランディング ページへのアクセスがユーザーに許可されます。ここがトリッキーな部分です。静的ドキュメントへのリンクに加えて、このページには、ユーザーを認証する Web アプリへのリンクもあります。簡単に言うと、ランディング ページと Web アプリの両方の認証は、Web アプリが使用するデータベースに対して行われます。したがって、ユーザーが PHP サイトで自分自身を認証して PDF を表示し、.NET Web アプリへのリンクをクリックしたときに、このサーバーで自分自身を再認証してこのサイトにアクセスする必要がないようにする機能が必要です。
ユーザーを認証するコード フラグメントを次に示します。
public string Login(string username, string password)
{
LoginUser user = LoginUserRepository.GetUserByUsername(username);
if (user.Password.Equals(password))
{
return "success"+" "+user.Role;
}
else
{
return "Wrong Password";
}
}
次に、この Web サービスを呼び出す php ファイルは、PHP サイトのユーザー用のセッションを作成します。上記のコード フラグメントで、ユーザーが .NET Web アプリ内のページにアクセスするために自分自身を再認証する必要がないように、Cookie を作成する方法はありますか?