2011-02-28 36 views
3

目前使用的是DNN 5.2.x,我們在網站上只使用1個門戶。我們需要製作移動版本的門戶網站,並消除大部分額外的DNN內容,因爲只會顯示信息。所以我們決定做的是創建獨立的ASP.NET Web Forms網站,並利用DNN提供者(會員,角色等)進行登錄。但是,我們目前遇到了問題。特別是(「試圖寫入日誌的未知異常」)。我們已將大部分DNN Global.asax(即SimpleContainer指令)文件移至新網站,並添加了必要的web.config部分和引用,但我們在用戶登錄時遇到此錯誤。我們通過同一網絡進行了複製。將機器密鑰配置到新網站。連接字符串也在那裏(應用程序設置和連接字符串部分,並被命名爲SiteSqlServer)。使用DotNetNuke的新ASP.NET網站

所以我的問題是,有沒有人創建一個圍繞DNN的新網站,而不使用DNN除了會員資格?即無模塊,無皮膚等。只需驗證用戶並獲取角色即可。

如果您有什麼需要做DNN 5.2.x(或更高版本)來登錄用戶並返回角色,您可以發佈步驟嗎?

回答

0

這是我們帶走的路線。我們基本上在網站的移動版本中實施了DNN。除了我們只使用DNN的用戶會員特徵。爲此,我們必須使用所有相同的核心DNN DLL,並在global.asax文件中包含所有「啓動」功能。我們還必須在每個請求中注入一個UserInfo對象到會話上下文中。我忘記了所使用的UserInfo對象的鍵名,但它由DNN使用,並且必須在我們未包含的DNN處理程序中設置。除此之外,它完美的作品。我們有能力獲得用戶所有的角色等等。

0

默認的DNN登錄是基於ASP.NET membership。如果您真正想要的只是登錄功能,那麼直接使用ASP.NET成員資格要比試圖將其從DNN中剝離出來要容易得多。

你正在嘗試的並不是不可能的,但肯定會需要充分的耐心試驗和錯誤。

0

對於驗證用戶和獲取角色,您可以編寫自己的簡單提供程序,這些提供程序在數據庫(用戶,角色,UserRoles,配置文件等)中使用dnn特殊表。表User通過用戶名字段與aspnet_Membership和aspnet_Users標準表相關聯。

0

有很多選項可供您選擇。

  1. 如果你真的不希望到Digg到如何整合DNN成員身份和角色提供將工作complecations,您可以檢查dnn single sign on
  2. 另一種選擇是讓你的web表單應用程序中的子文件夾您dnn網站。這樣你就不需要做太多的工作,你就可以開始準備好所有的好東西。即使你可以直接convert your skin to master page和重用幾乎所有的CSS和圖像相關的地址

除了上面,我還建議另一種聰明的方式來做到這一點。由於您正在考慮使用移動網站,因此您爲什麼不嘗試使用Request.Browser檢測瀏覽器,併爲尺寸較小的dnn創建單獨的外觀。我們可以輕鬆地爲服務請求動態切換外觀。

我希望這會有所幫助。如果您對此有更多疑問,我會很樂意提供幫助。只要放下我和電子郵件,我會盡力幫助你儘可能地接近你。

好運