2012-03-24 5 views
0

私はこれらの役割を持っています:管理者、医者、患者。しかし、ログイン情報は別のテーブルに保存されます。管理者のユーザー名とパスワードはUser_TABleに格納されます(2つの項目です)。患者のログイン情報は、Patient_TABLE:PatientID、YearおよびDocumentIDに格納されます(3つの項目です)。私はSQLRoleProviderとSQLProfileProviderを使いたいです。どうすればloginViewで別のログインページを設計できますか?ロールプロバイダASP.net

敬具

+0

あなたは、あなたがおそらくログイン/会員コントロールのほとんどの問題に実行しようとしているカスタムメンバーシップスキーマ(あなたが質問に定義されている、すなわち1)を使用して見ている場合。定義されたスキーマを使用してカスタムMembershipProviderを定義しましたか? –

+0

私はroleproviderを使用するときに、 'MembershipProvider'を同時に使用するので、すべてのユーザーのログイン情報が1つのテーブルに保存されます。私はちょうどあなたがコースを変更した場合、あなたはあなた自身のもので終わらなければならないと思います。 –

+0

@EricYin - MembershipServiceでないメンバーシッププロバイダを意味すると思います。 –

答えて

0

私はより良いセットアップはこのことだと思う:

RoleProviderと組み合わせて使用​​するASP.NETに同梱の標準のMembershipProviderを使用してください。

ProfileProviderを使用する(悪い方法ではありませんが、多態性データがある場合には少しの作業が必要です(テキストでXMLを使用して保存します)。プロバイダのフィールドや独自のカスタムプロファイルプロバイダを書く)

OR

自分のスキーマにはなくaspnet_Users PKへの外部キーと同様のテーブルを追加します。コードで、あなたがRoles.IsUserInRoleを行うことができます(「どのような")、loginViewを適切に変更してください。残りのLoginControlなどをドラッグアンドドロップするだけで、標準のメンバーシッププロバイダである

+0

彼はまだログインしていないのでuserRoleを知らない。私はloginViewに問題があります。私は異なるuserTypeを持っています。私はそれらのために別のloginViewを設計する必要がありますか? –

+0

あなたが誰であるかわからない場合は、別のloginviewをどのように設計できますか?定義によっては、ユーザータイプに意味のあるものを表示する前にログインする必要があります。 –

0

SqlRoleProviderSqlProfileProviderSqlMembershipProviderデフォルトASPNETDBが付属しています。

これらのプロバイダで使用されるデータベースを作成するには、C:\ WINDOWS \ Microsoft.NET \ Framework \ versionNumberフォルダにあるaspnet_regsql.exe実行可能ファイルを実行します。それ以外の場合は、CustomRoleProvider,カスタムプロファイルプロバイダCustomMembershipProviderを作成する必要があります。

http://msdn.microsoft.com/en-us/library/system.web.security.sqlroleprovider.aspx

+0

あなたはVS2010内でもうこれをやらなければならない - 新しいASP.NETプロジェクトを作成し、ダミーの資格情報を持つデフォルトのサイトからログインを試みるだけです。この動作だけでデータベースとスキーマの作成が呼び出されます –

+0

複数のUserTypeがCustomRoleProviderで解決されますか?はいの場合はどうしたらいいですか? 1つのuserTypeにCustomProviderを使用しました。 –

関連する問題