WinFormsアプリとSQL ServerにSSO(シングルサインオン)を実装する方法
-
05-07-2019 - |
質問
SQLサーバーを使用してデータを保存するWinFormsアプリケーションがあります。アプリケーションユーザーを認証するために、SQL Serverを使用して認証を行います。ユーザーがログインするには、データベースサーバーに存在するユーザー名/パスワードが必要です。
これまでのところとても良い。
顧客の1人が、シングルサインオンの実装を望んでいます。ユーザー名やパスワードを入力せずにアプリを起動できるようにしたい、ユーザーを認証するためにWindowsを使用したい。
これを実装する方法についてアドバイスはありますか?
解決
この記事を参照 WinFormsアプリの2行のコードでのシングルサインオン。
多くの開発者は、ロールベースの検証に利用できる2つの情報豊富なオブジェクトを認識しておらず、ユーザーがすでにログオンしているため、アプリケーションへの認証済みアクセス、基本的にシングルサインオン(SSO)を検証するためにも利用できますデスクトップ。これらはWindowPrincipalおよびWindowsIdentityオブジェクトです。このスクリーンキャストの目的は、これらのオブジェクトが提供する豊富な情報を活用する方法を分かりやすく説明することです–わずか2行のコードから始めます。
他のヒント
Active DirectoryとSSPI(別名、信頼できる接続)を使用するとします。これは通常、Kerberos認証を使用します。
Users
テーブルなどのデータベースにユーザーの概念がある場合は、別の列を追加するか、そのユーザーのドメインログイン名(johnsmith @ somedomainなど)を格納する別のテーブルを作成できます。例)。一般的にsomedomain \ johnsmithが表示されますが、@メソッドの方が新しく、推奨される表現です。