クライアントサーバーソリューションがあります。クライアントは wpf で、サーバーは Windows サービス (.net、wcf 経由で接続) です。
ユーザーに 2 つのサインイン方法を提供したいと考えています。1 つはユーザー名とパスワードです。Windows セキュリティを使用するその他の方法。
セキュリティ コンテンツはクライアントからサーバーに送信され、サーバーはアクティブ ディレクトリに対してユーザーとロールを検証する必要があります。ユーザー名、パスワードのシナリオでは、データベースを使用して検証します。
しかし、クライアントからサーバーに何を送信すればよいでしょうか? IPrincipal の実装ですか? それともユーザー名だけで、サーバーはそれを調べますか? また、アプリケーションでロールを使用してサーバー上のユーザーを構成するにはどうすればよいですか? Active Directory ダイアログを表示してユーザーとグループを参照し、それらを自分の役割と一致させることはできますか?
これが私が考えていることです- トランスポートセキュリティを使用してwcf行でユーザー名/パスワードをサーバーに送信するを更新します。次に、提供されたユーザー名/パスワードが有効であり、アプリケーションを使用するためのアクセス権があるかどうかをサーバーに検証させます。これには認証と承認の両方があることに注意してください。すべてのユーザー (有効な Windows ユーザーであっても) がアプリケーションにアクセスできるわけではありません。
例: 100 人の従業員が 10 ライセンスしか購入していません。