2016-10-19 5 views
0

社内の企業ユーザー向けにC#Winformとしてセルフサービスパスワードリセットツールを作成しました。Windowsのログイン画面でセルフサービスC#Winformを実行する

このアプリケーションは、HTTPSとクライアント証明書ベースの認証を使用して、ランダムな6桁のコードを生成してモバイルデバイスに送信するか、ユーザーが設定した3つのセキュリティ質問を取得するために、セルフサービスに登録されています。

コード/アンサーはウェブサービスに送り返されます。確認されると、ユーザーのADアカウントはロック解除され、パスワードはサーバー側にリセットされます。

私があるため、ユーザーが自分のマシンにアクセス傾けるということで、問題の性質上、しかし...

、他のユーザーのマシンからアクセスした場合、これは任意のSSPRツールですべてのかなり一般的であり、すべてが正常に動作していると思います

パスワードをリセットする必要があるときに、このアプリをWindowsのログイン画面から起動できるかどうか尋ねられました。

私はWindows 7のログイン画面に新しい「タイル」を追加し、クリックしたときに自分のアプリを起動するPOCカスタム認証プロバイダを作成しましたが、これは本当に悪い考えかもしれないと思っています。

これは、どこから起動されているのですか?私はすでに緊張しているローカルのSYSTEMユーザーのコンテキストでアプリが実行されます。

「支払った」SSPRツールを見ると、外見上の価値があり、ログイン画面で外部アプリを実行しているようなものがありますか?

  • winlogin画面でシステムとしてSYSTEMを実行していますか?

  • もしそうでない場合は、脆弱性をインストールするために私が従うべき推奨事項はありますか?

  • は私がリスク軽減するために何ができる何かあります(私のプログラムが最初に実行されるときに偽装/デ標高のいくつかの並べ替えは?)あなたはどちらかにそれを得ることができ、Windowsの資格プロバイダで

+0

メインログオンUIはSYSTEMとして実行されるため、まったくばかげたことではありません。実際には、セキュリティで保護されたログオン画面にUIを表示するために、*あなたがSYSTEMとして実行されている*と思われます。 (私は確信していません)とにかく、最低限の特権で実行されているサブプロセスで、ネットワーク攻撃を行うのは悪い考えではないかもしれません。 –

+0

この質問の答えは、これは本当に悪い考えですが、詳細には入っていません: http://stackoverflow.com/questions/13292060/adding-a-button-to-the-windows-7-logon- screen 私は、そこに示唆されたルートに行って、一般的なドメインユーザーをセットアップし、そのユーザーのシェルを私のアプリケーションに置き換えたいと思っています。 私のアプリを起動するはずのタイルをクリックしたときに、一般ユーザーと一緒に自動的にログオンするように、資格プロバイダを修正できるはずですが、SYSTEMではなく標準ドメインユーザーのコンテキストで行う必要があります。 – prwilliams1982

+0

がグループポリシーを使用して元のタイルを非表示にすると、CPサンプルは各プロバイダの新しいタイルを作成します。あなたは元のマイクロソフトタイルのGUIDが必要です – n981x

答えて

0

ログインして、セルフサービスアプリを起動します。私たちはこれを試しましたが、プロセス自体には時間がかかります。

代わりに、私たちは、次の

はあなたがセルフサービスに登録することを可能にするWebアプリケーションを作成しました。どちらかの質問に答えるか、別のメールアドレスを登録してください。これはすべて簡単なものです。

私たちは、そのURL専用のブラウザコンポーネントを備えたWinformアプリケーションを作成しました。次に、クリックしたときにwinformアプリケーションを開くリンクを持つ資格プロバイダを作成しました。 Winformをそのように設定することによって、新しいウィンドウを起動する権限や右クリックができないようにしました。

ユーザーがパスワードを忘れてしまった場合、事前ログオン時にリンクをクリックするだけです。 Winformはロードされ、彼らはビジネスを行います。 Winformを閉じます。それはすべてログオン画面で行われます。

メモ。 Winformsの代わりにwpfを使用して実装しようとすると、アプリケーションのロードにかなりの時間がかかります。

コードを共有できます。あなたに必要なものを教えてください。また、Microsoftサンプルを使用するだけでなく、独自のIDを与える資格プロバイダを作成する際にも注意してください。元の資格プロバイダを無効にする必要があります。それ以外の場合は、重複してしまいます。それに応じてグループポリシーを使用して無効にしました。

+0

こんにちは、 私はあなたのコメントが前に良いことを知っていますが、私はちょうどそれを見てきました。 – prwilliams1982

+0

私は自分のアプリケーションと資格プロバイダをすべてのマシンに配備していますが、作成した方法とは別に、ユーザーが「ユーザー切り替え」をクリックしない限り表示されない別々の「タイル」として表示されます。 デフォルトのログイン画面が組み込まれているCPを見て、できるだけそこからあなたのアプリを起動することに興味がありますか? – prwilliams1982

関連する問題