1

私たちは、ユーザーが .net 経由でログインしてから PHP アプリにアクセスできるようにする SSO ソリューションに取り組んでいます。私はPHPの終わりに取り組んでおり、多くの作業の後、.netがユーザー名とチケットの有効期限で設定するCookieに対してデコード、解析、およびその他の処理を行いました。

少なくとも私は持っていると思います。私が今困っているのは、.net 開発者が忙しすぎて、これらの Cookie を生成するテスト用のログイン ページをセットアップして、実際にテストできるようにできないことです。私が疑問に思っているのは、このテスト ページの設定にどれくらいの時間がかかるかということです。そんなに時間はかからないはずだというのが私の気持ちですが、一度もやったことがありません。(私が開発者に「1時間程度で済むはずだ」と言うクライアントのようになることは、天から禁じられています。)

合理的に期待できることを知りたいだけです。formsauth チケットを作成し、ログインしているユーザーをテスト ページに送信する単純なログイン。FWIW、現在使用中の.netアプリ用に設定されたログインページがすでにいくつかあります。

編集: 明確にするために、これを実装するつもりはありません。.net 開発者がこれを行うのにどれくらいの時間がかかるか知りたいです。

4

5 に答える 5

4

ASP.NET でのフォーム認証の構成側のチュートリアルを次に示しますテキストボックスが 2 つあるページと Web フォーム上のボタンをコーディングできれば、残りの作業を行うことができます。ASP.NET をまったく使用しない場合は、2 時間の予算を立てます。

于 2009-03-18T17:02:43.023 に答える
3

ASP.NET メンバーシップ プロバイダーを使用した場合は、(ログイン フォーム自体を含む) ほとんどすべての作業が自動的に行われます。

于 2009-03-18T17:00:54.293 に答える
3

フォーム認証チケットを作成するだけなら、次の 1 行のコードで実行できます。

FormsAuthentication.SetAuthCookie("Username", False)

2 番目のパラメーターは、Cookie を永続的にするかどうかを示します。

説明したログイン ページを asp.net 開発者が実装するのにどれだけの労力がかかるかを定量化したい場合、答えは 15 分未満であるはずです。

于 2009-03-18T17:02:46.737 に答える
2

ログイン データベースがない場合は、組み込みの SQL プロバイダーを使用できます。設定方法は次のとおりです: http://msdn.microsoft.com/en-us/library/6e9y4s5t.aspx

データがある場合は、カスタム メンバーシップ プロバイダーを実装し、ValidateUser メソッドのみを実装できます。残りは NotImplementedException に残して、必要なときにさらに機能を実装できます。

public override bool ValidateUser(string username, string password)
{
   //return true or false;
}

最終的な実装があるものを使用しない場合でも、クイック アプローチとして使用できます。必要に応じて他のほとんどの部分を拡張できます。PHP で作成した唯一の依存関係は、それらのいずれかが使用する認証チケットを使用することです (FormsAuthentication を直接使用することもできます)。

最終的な実装では、パスワードが正しく保護されていること、つまりデータベースに保存されるときにハッシュされていることを確認する必要があります。組み込みプロバイダーを使用すると、それを自動的に行うことができます。カスタム コードには、これを行う簡単なクラスがあります。

更新 1: そのような時間の見積もりを提供するのは非常に困難です。時間はプロジェクト、開発者などによって大きく異なります。とはいえ、メンバーシップ ルートに行くと、ほんの数時間で、もちろん実際に機能することをテストするのが合理的です (カスタム プロバイダー ルートに行く場合、これはデータベースがが用意されており、ログインを簡単にするためのものがあります)。PHP との統合方法をテストするためだけにセットアップする場合は、組み込みプロバイダーを使用し、SQL スクリプトを実行してデータベースを作成し、構成をセットアップし、ログイン ページ/コントロールを追加し、テストします。この場合は 1 時間とします。さて、これは一種の自動モードで、ジャスト・ドゥ・アプローチです。

于 2009-03-18T17:12:30.630 に答える
1

ASP.NET フォーム ベースの認証は非常に簡単に開始でき、ASP.NET クイックスタート チュートリアルWeb サイトでチュートリアルを見つけることができます。Forms-based Authenticationのセクションを見たいと思います。より高度なソリューションが必要な場合は、Membership and Role Manager を参照してください。

于 2009-03-18T17:14:13.543 に答える