2011-12-30 17 views
0

こんにちは、MVCサイトでのユーザー名とパスワードの2倍の検証?

メンバーシップを使用するASP.NET MVC Webサイトを構築しましたが、これは問題ありません。サイトのベータテストでは、ベータテスターだけが自分のウェブサイトにアクセスできるようにして、2回目のログイン(本当に最初のログイン)を行わなければならないようにする必要があります。

質問は、現在のメンバーシップの設定を行わずにできるだけ簡単かつ迅速に行うことができますか?

ユーザー名とパスワードが静的/ハードコードされていても大丈夫ですが、外部ログインが完了すると、セッション中にログイン要求がもう一度も発生しないことが重要です。現在のMVCメンバーシップは以前と同じように機能することが重要です。

+1

*ベータ*ロールを追加するだけではどうですか? –

+0

このウェブページは、メンバーシップアカウントの有無にかかわらずテストする必要があるという問題があります。しかし、これをもっと見てみましょう。現在のメンバーシップでは、User = 0とAdmin = 1という2つの役割があります。いくつかの場所では、CurrentRole> 0で役割の検証を行うことができるので、これらの場所を追跡して解決する必要があります。ユーザーと管理者の間にBetaUserを追加することができます(BetaUser = 1)。これにより、ログオン時にウェブページをテストすることが可能になりますが、メンバーシップアカウントなしでテストする方法はありますか? – Banshee

+0

VLANやパケットのフィルタリングなど、ウェブサイトのコードの外部にある手段を使用してそれを制御します。問題は、テスト用のコードだけを変更しようとしているため、追加のレベルの認証を追加した場合、テストは有効ではないということです。 –

答えて

0

私は新しい役割(テスター)で終わった。これには多くのリファクタリングが必要でしたが、実際にはうまくいくようです。

テストユーザーがログインしていて、サイトがテストモードに設定されている場合、返されるユーザーはユーザーがいないことを意味します。

1

残念ながら、FormsとBasicAuthenticationモードは同時に機能しません。これは、HttpContext(UserというIMHO)に「IPrincipal」変数が1つしかないためです。しかし、同時に2つの異なる認証方式を使用していた場合は、最後の認証方式が常に勝ちます。このため、これはサポートされていません。人々は予期せぬ結果を得るでしょう。

しかし、それはかなり簡単に行うことができます。基本認証を自分で実装する必要があります。これはBeginRequestイベント中に行うことができます。 Global.asax(推奨)またはHTTPモジュールに接続できます。

の実装にBasicAuthは複雑ではありません。http://en.wikipedia.org/wiki/Basic_access_authentication

あなたは基本的な認証コードの内部の資格情報をハードコーディングする場合は、30分に行われます。

+0

これについてさらに情報がありますか?マビとのリンク? – Banshee

+0

明確にするために投稿を編集しました。 – usr

関連する問題