0

winform アプリケーションでユーザーのグループにドメイン認証を実装する方法はありますか?

ショップの数台の PC にインストールするアプリケーションを C# で作成しています。プログラム機能の一部、基本的には構成をパスワードで保護したいと考えています。パスワードをアプリケーションに簡単にハードコーディングしたり、暗号化されたパスワード ストアを作成したりすることもできますが、特定のユーザーのみが構成フォームにアクセスできるようにし、グループを使用してドメインからこれらのユーザーを一元的に管理したいと考えています。したがって、「configure」グループに属する人は誰でもフォームにアクセスしたり、適用ボタンを押したりできます。

4

1 に答える 1

0

ユーザーが特定の Windows グループWindowsPrincipal.IsInRoleに属しているかどうかを確認するには、次のようにします。

bool IsInGroup(string user, string group)
{
    using (var identity = new WindowsIdentity(user))
    {
        var principal = new WindowsPrincipal(identity);
        return principal.IsInRole(group);
    }
}

現在のユーザーが何であるかを確認するには、Thread.CurrentPrincipalを使用します。

グループのユーザー メンバーかどうかを確認する c#を参照してください。詳細といくつかの議論については。

しかし、これはあなたのユースケースに最適なソリューションですか? 「[your] ショップ内」にいる場合、複数のユーザーがコンピュータを使用する POS 端末を指していますか? この場合、ユーザーは毎回ログオンまたはログオフしたくない場合があります。おそらく、構成を別のアプリケーションに移動し、ファイルのアクセス許可を使用して構成を保護し (管理者以外には読み取り専用にするなど)、構成アプリケーションへのアクセスを制限することがより良い解決策です。

于 2012-09-12T13:24:50.097 に答える