5

別のASP.NETプロジェクトにあるWCFDataServiceを使用してデータにアクセスするWPFプロジェクトがあるソリューションに取り組んでいます。
認証されたユーザーだけがサービスにアクセスできるようにするレベルのセキュリティを提供する必要があります。ネットサーフィンをした後、私はそれを成し遂げようとして頭を骨折しました。それを実装する適切な方法は何ですか?

4

1 に答える 1

2

私は過去にこれを行い、WCFのLoginメソッドがユーザーオブジェクトを作成し、ユーザーオブジェクトにトークン(私の場合はGUID)を割り当て、それをWCFサーバーの内部にAuthenticatedUsersリストに保存していました。

その他のWCF呼び出しでは、パラメーターとしてトークンが必要でした。そのトークンを持つユーザーがリストに存在するかどうかを確認し、AuthenticatedUsersそのトークンを持つユーザーが存在しない場合はエラーを返します。追加の利点は、ユーザーIDを渡す必要なしに、誰がWCF呼び出しを行ったかを常に把握できることです。

LastActivityまた、サーバー上のUserオブジェクトとともにDateTimeを保存しました。各WCF呼び出しはこの値を更新AuthenticatedUsersし、WCFサーバー上のリストに少なくとも1つの値がある場合、サーバーでタイマーが実行され、AuthenticatedUsersLastActivity値がチェックされ、ユーザーが20分以上非アクティブだった場合はユーザーが削除されます。

于 2011-11-05T16:31:20.617 に答える