2009-09-29 102 views
0

我已經設置了兩個會員供應商:我的自定義供應商和Sitefinity供應商。我的自定義成員資格提供程序設置爲默認值。TelerikProfileProvider與自定義會員供應商

我想爲兩組用戶使用Sitefinity的Profile提供程序。但是,配置文件提供程序似乎只適用於我退出Sitefinity成員資格提供程序的用戶。

與反射周圍戳了一下後,似乎Telerik的配置文件提供假定用戶名在它自己的數據庫存在。

User userByName = this.Application.GetUserByName(userName); 
if (userByName != null) 
{ 
// magic happens here... 
} 

所有魔法只有在能夠在本地檢索用戶時纔會發生。似乎違反提供商的原則。不管會員供應商是否應該可以隨意向任何用戶添加屬性?

(我also posted this在Sitefinity論壇,但沒有得到響應了。所以一直把我寵壞了,我已經開始期待在幾分鐘內,而不是幾天的答案。)

回答

0

如果我沒有理解您正確地想要使用sitefininty提供程序作爲基礎,並將一些附加信息附加到用戶配置文件。

一般來說,我會建議不要試圖用內部sitefininty管理打成一片。而是嘗試將任何想要執行的功能附加到標準提供程序。

我在過去的這些情況下所做的工作是創建一個成員資格提供程序包裝器(在您的情況下是一個ProfileProviderWrapper),該資源包含對另一個配置文件提供器的內部引用,同時作爲配置文件提供程序本身。

這樣你就可以打電話回實際的底層供應商(或者也許你不回電話的話)後,執行前,你想要的任何代碼/。 例如:在返回配置文件之前,您可以附加其他屬性。

這樣,你不破sitefinity行爲,同時仍然能夠干涉。