私は、ユーザーが有効な従業員のデータベーステーブルに対する「認証」の単純な形式として会社IDカード番号を入力するC#デスクトップアプリを持っています。ユーザーが正しいアクセス許可レベルのテーブルで見つかった場合、アプリが実行され、ユーザーはアプリケーションのすべての画面とメニューを使用できます。問題は、有効なユーザーのID番号(おそらくIDカードの紛失または盗難によるもの)を持っている人なら誰でも、プログラムを実行してデータにアクセスできることです。
このアプリケーションをより安全にしたい。Windows IDとpwdを使用してアプリケーションユーザーを認証する方法はありますか?少なくとも、アプリユーザーに、マシンに現在ログインしているWindowsユーザーの資格情報(IDとpwd)を再入力するように強制したいと思います。それが認証に失敗した場合、アプリケーションは終了し、実行されません。
この「機能」をアプリに追加するためのオプションは何ですか?それを行う最も簡単な方法は何ですか?LDAPバインド?入力したWindowsIDをLDAPで見つかったユーザーIDと比較しますか?それを行うための最も安全な方法は何ですか?私は自分のアプリをデータベースと通信させるのは得意ですが、Windowsのセキュリティや認証についてはあまり行ったことがないので、自分のレベルで話す必要があります。データベースにWindowsユーザーIDを保存することは避けたいと思います。このアプリはVS2008プロジェクトですが、いつかVS2010プロジェクトでも同じことを行う必要があります。ありがとうございます。