2012-02-09 182 views
0

我是ASP.NET MVC Forms身份驗證的新手,剛開始創建自己的自定義成員資格提供程序。我的ValidateUser和ChangePassword方法可以工作,但現在我想使用GetUser方法在我的站點中返回當前用戶的數據。我的AX方法返回一個AxaptaRecord,其中包含用戶的詳細信息,如他們的電話號碼,公司名稱等。我如何使用GetUser方法?ASP.NET MVC/AX - 自定義成員資格提供程序

回答

1

你只需要從AxaptaRecord對象創建MembershipUser對象的新實例,填充性,這裏是一些僞代碼:

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

如果您有多個表格,模型強類型視圖可以讓您輕鬆處理驗證並生成數據,但在顯示數據中不太好。

+0

但在我的Membership.GetUser()方法中,我返回一個AxaptaRecord數據類型,而不是一個MembershipUser數據類型。 – CallumVass 2012-02-09 09:24:30

+0

我不確定是否使用我的自定義會員供應商來執行此操作是最佳方式。我認爲更好的方法可能是將會返回的值存儲在會話變量中 – CallumVass 2012-02-09 09:25:02

相關問題