0

Asp.Net/C#アプリケーションで使用していAsp.Netます。組み込みのメンバーシップ フレームワークを使用しaspnet_regsqlています。サービスのインストールはデータベースに適切にインストールされています。aspnet_usersただし、テーブルにはユーザーに関する基本情報が含まれています。ユーザーに関する追加情報を追加するにはどうすればよいですか。テーブル自体を変更するか、別のテーブルを使用してテーブルにリンクする必要があります。また、aspnet_usersうまくMembership.ValidateUser(username,password)機能しますが、ログインがユーザーコードに基づいているという要件があります。これを達成するにはどうすればよいですか?組み込みのメンバーシップで可能ですか? . どんな提案でも大歓迎です。ありがとう

4

3 に答える 3

1

から継承することでカスタムメンバーシッププロバイダーを作成できますSystem.Web.Security.MembershipProvider。このようにして、必要な追加機能を実装できます。次に、ユーザーの詳細を独自のテーブル構造などに保存できます。次に、web.configをカスタムプロバイダーにポイントして使用します。

便利なリンク:

于 2012-04-17T09:56:42.493 に答える
1

ProfileProvider( ref )を使用できます。

詳細はこちら: http://msdn.microsoft.com/en-us/library/2y3fs9xs.aspx

そしてここ:プロファイル値を割り当てる方法?

于 2012-04-17T09:53:40.060 に答える
1

Profile-Provider代わりにASP.NETを使用してください。

http://www.4guysfromrolla.com/articles/101106-1.aspx

バイナリ(画像)であっても、あらゆる種類の追加情報を保存できます。SqlProfileProvide現在のアプリケーションで自分自身を使用して、ユーザー自身が自分の開始ページを選択できるようにしました。

そのため、これをに追加する必要がありましたweb.config

<profile defaultProvider="AspNetSqlProfileProvider">
  <providers>
    <clear/>
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="RM2ConnectionString" applicationName="/ERP"/>
  </providers>
  <properties>
    <add name="Startpage"/>
  </properties>
</profile>

そして、コードビハインドでこのプロパティを書くことができます:

if(User.Identity.IsAuthenticated)
{
    HttpContext.Current.Profile.SetPropertyValue("Startpage", startPage); //startPage is a String
    HttpContext.Current.Profile.Save();
}

次のように読みます。

if(User.Identity.IsAuthenticated)
{
    Dim user = Membership.GetUser();
    Dim startPage = HttpContext.Current.Profile.GetPropertyValue("Startpage") as String;
}

必要なものは何でも保存できます。詳細については、上記のリンクを参照してください。

于 2012-04-17T09:54:34.793 に答える