私はAsp.NETでいくつかの作業を行いましたが、FormAuthenticationを使用したユーザー認証にかなり慣れています
今、私はデスクトップアプリケーションに取り組んでおり、Windowsフォームアプリケーションで上記のようなものを持ちたい.Asp.NETで行ったように、アプリケーションデータベースまたはxmlを使用してユーザーを作成および認証したい. これまでのところ、私が望むようにこれを達成する方法はありませんでした。
どんな助けでも素晴らしいでしょう!
私はAsp.NETでいくつかの作業を行いましたが、FormAuthenticationを使用したユーザー認証にかなり慣れています
今、私はデスクトップアプリケーションに取り組んでおり、Windowsフォームアプリケーションで上記のようなものを持ちたい.Asp.NETで行ったように、アプリケーションデータベースまたはxmlを使用してユーザーを作成および認証したい. これまでのところ、私が望むようにこれを達成する方法はありませんでした。
どんな助けでも素晴らしいでしょう!
Windows アプリケーションで FormsAuthentication を使用しても意味がありません。あなたができることは、クラスを使用するMembership
ことですMembershipUser
。Roles
必要なのは、app.config でメンバーシップ プロバイダーとロール プロバイダーを構成することだけです。
FormsAuthentication
実際にはユーザーを認証しません。呼び出すとAuthenticate
、それが廃止されたメソッドであり、代わりに使用されFormsAuthentication
ていることがわかります。Membership.ValidateUser
これらの機能の欠点の 1 つは、それらがSystem.Web
名前空間の一部であることです。つまり、Windows アプリケーション内で Web 機能を使用する必要があります。しかし、それが仕事を成し遂げ、要件を満たすことができるなら、それを使ってください.
Windows デスクトップ アプリケーションは、ASP.NET Web アプリケーションとはまったく異なります。
異なるフォームを個別に呼び出すことはできません。
(アプリケーションをハッキングすることはできますが、それを行うと、パスワード保護を削除することもできます)
したがって、フォーム認証は意味がありません。
起動ウィンドウとしてログイン ウィンドウを作成し、データベースに対してユーザー名とパスワードをチェックできます。
そしてそれはそれについてです。
これは Windows アプリケーションです。メンバーシップ プロバイダーやフォーム Cookie チケットなどは必要ありません。HTTP とは異なり、Windows デスクトップ アプリケーションはステートレスではないためです。
PS: WinForms アプリケーションを実行する場合は、ActiveDirectory 認証を使用してログインしてください。