2012-02-09 8 views
0

私はASP.NET MVCフォーム認証が初めてで、自分のカスタムメンバーシッププロバイダを作成し始めました。 My ValidateUserメソッドとChangePasswordメソッドは機能しますが、GetUserメソッドを使用して現在のユーザーのデータをサイト全体に返す必要があります。私のAXメソッドは、電話番号、会社名など、ユーザーの詳細を含むAxaptaRecordを返します。GetUserメソッドでどのように使用しますか?ASP.NET MVC/AX - カスタムメンバーシッププロバイダ

答えて

1

は、ここにいくつかの擬似コードです:

MembershipUser user = new MembershipUser("AX", 
    (string)axRecord.get_Field("name"), 
    axRecord.get_Field("recid"), 
    email, //get this from SysUserInfo table 
    string.Empty, 
    string.Empty, 
    (bool)axRecord.get_Field("enable"), 
    !(bool)axRecord.get_Field("enable"), 
    (DateTime)Convert.ChangeType(axRecord.get_Field("createdDateTime"), typeof(DateTime)), 
    DateTime.MinValue, 
    DateTime.MinValue, 
    DateTime.MinValue, 
    DateTime.MinValue); 

次に、あなたがあなたのGetUserメソッドからユーザーを返します。ここでGetUserメソッドの説明を参照してください:http://msdn.microsoft.com/en-us/library/f1kyba5e.aspx

0

コントローラー:

var userDetails = System.Web.Security.Membership.GetUser(username); 

その後、あなたはビューにデータを渡すためのさまざまな方法があります。 それぞれの方法には利点と欠点があります。 詳細については、hereをクリックしてください。

強く型付けされたモデルのビューでは、複数の表がある場合は、検証データを簡単に処理してデータを生成できますが、表示データはそれほど良好ではありません。あなただけMembershipUserオブジェクトの新しいインスタンスを作成し、AxaptaRecordオブジェクトからプロパティを移入する必要が

+0

私のMembership.GetUser()メソッドでは、私はAxaptaRecordデータ型ではなく、MembershipUserデータ型を返しています。 – CallumVass

+0

私のカスタムメンバーシッププロバイダを使用してこれを行うのが最善の方法であるかどうか分かりません。セッション変数に返された値を格納する方が良い方法だと思います – CallumVass

関連する問題