0

ターミナル サービスを使用している場合 (Citrix アドオンの有無にかかわらず)、ユーザーの物理的な場所を特定できますか?

クライアント ワークステーションのハードウェアは混在しています。Windows PC の場合もあれば、シン クライアント ユニット (Wyse など) の場合もあります。

私たちのアプリは、基本的にユーザーの場所に基づいてビジネス機能を変える必要があります。たとえば、さまざまな州法への準拠、または現金の取り扱い (キャッシュ ドロワーは、支店または店舗の任意のワークステーションで使用できますが、他の支店または店舗からはアクセスできません)。

また、ユーザーのログオンに依存して自分の場所を特定することはできません。ほとんどのユーザーは 1 つの場所でのみ作業しますが、一部のユーザーはある場所から別の場所に移動します。セキュリティと監査の理由から、場所ごとに異なるログオンを使用することはできません。

ユーザーにどこにいるのかを尋ねる以外に (確かに問題のある解決策です)、この種のニーズに対処するための API、体系的なサポート、または手法はありますか?

ありがとう!

4

1 に答える 1

1

リモートデスクトップサーバーでは、IPアドレスに基づいてユーザーのおおよその物理的な場所を特定できます。Win32 API関数WinStationQueryInformationWと情報クラスWinStationRemoteAddressを使用して、セッションに関連付けられたリモートIPアドレスを取得できます。.NET言語を使用している場合は、Cassiaライブラリを使用できます。リモートIPエンドポイントはITerminalServicesSession.RemoteEndPointとして公開されます。リモートIPアドレスをRDSAPIから利用可能なクライアント報告IPアドレスと混同しないでください。クライアントがNATルーターの背後にある場合など、クライアント報告IPはクライアントのパブリックIPを返しません。代わりにプライベートIPアドレス。

クライアントのIPアドレスを取得したら、GeoIPなどのAPIを使用して、クライアントの物理的な場所を検索できます。

于 2012-01-17T14:20:12.077 に答える