1

asp.net アプリケーションでのログイン数を制御するソリューションを見つけようとしています。アプリケーションをクライアント サーバーにインストールし、ライセンス数を設定する必要があります。たとえば、10 人のユーザーのみがアプリにアクセスできます。

誰かがログインしようとするたびに、ログインしているユーザーの数を確認し、許可されている合計と比較して、そのユーザーに続行を許可する必要があります。

証明書を試してみましたが、ログインしているユーザーの数と許可されたユーザーの最大数を一致させる場所がわかりませんでした。

また、IP アドレスを識別子として使用したい場合、3 つのブラウザー ウィンドウを開くと、1 人のユーザーのみがログに記録されます。

基本的に本Webアプリケーションはライセンス販売となります。ユーザーごとではなくコンピューターごとにログインを制御し、ログインの制限に達した場合はログインをブロックする必要があります。

説明がわかりにくかったらご容赦ください。

助けてくれてありがとう。

4

3 に答える 3

0

私なら、global.asax ファイルを使用して、session_start でカウンターをインクリメントし、session_end でデクリメントします。セッションは Cookie に保存されるため、同じコンピューター上の複数のセッションで作成されるセッションは 1 つだけです。

global.asax ファイルの適切な参照は次のとおりです: http://aspalliance.com/1114_Understanding_the_Globalasax_file.3

于 2011-03-23T14:46:21.753 に答える
0

Session オブジェクトの SessionID をキーとして使用し、それをログイン ユーザーの UserID と共にデータベースまたは何らかのバッキング ストアに格納します。global.asax で Session_End を使用して、セッションの有効期限が切れた場合に上記のレコードを削除し、ログアウト関数でもそれらを削除します。アクティブなセッションの数を数えて、許可されている場合は、同じユーザーが再度ログインしていないことを確認するのはかなり簡単です。

于 2011-03-23T14:46:45.403 に答える
0

Membership API を使用している場合は、Membership.GetNumberOfUsersOnlineメソッドを使用して、アクティブなユーザーの数を確認します。

この数は、認証されたユーザーの数のみをカウントするため、シナリオで安全に使用できると思います.

于 2011-03-23T14:52:43.940 に答える