簡體   English   中英

DNN重定向到登錄

[英]DNN Redirects to Login

我將DNN應用程序從07.00.02升級到07.03.04,並在安裝后將所有門戶重定向到登錄頁面。 所有門戶網站都配置有登錄頁面,該登錄頁面配置為允許“所有用戶”角色查看權限。 升級后,還有其他人遇到此問題嗎?

我對web.config進行了許多更改,包括將身份驗證模式設置為none,遺憾的是問題仍然存在。

IIS日志顯示有兩次GET嘗試訪問網站的根目錄,結果為302,然后是對登錄標簽的GET請求,響應為200,請參見以下內容:

2015-02-05 05:45:01 127.0.0.1 GET /-80-127.0.0.1 Mozilla / 5.0 +(Windows + NT + 6.3; + WOW64)+ AppleWebKit / 537.36 +(KHTML,+ like + Gecko)+ Chrome /40.0.2214.94+Safari/537.36-302 0 0 4203

2015-02-05 05:45:01 127.0.0.1 GET /-80-127.0.0.1 Mozilla / 5.0 +(Windows + NT + 6.3; + WOW64)+ AppleWebKit / 537.36 +(KHTML,+ like + Gecko)+ Chrome /40.0.2214.94+Safari/537.36-302 0 0 3

2015-02-05 05:45:01 127.0.0.1 GET /Default.aspx TabId = 4330&ctl = Login&returnurl =%2f 80-127.0.0.1 Mozilla / 5.0 +(Windows + NT + 6.3; + WOW64)+ AppleWebKit / 537.36 + (KHTML,+ like + Gecko)+ Chrome / 40.0.2214.94 + Safari / 537.36-200 0 0 354

您可以自己登錄嗎? 我將從檢查頁面權限開始,也許權限在升級時被覆蓋(我自己從未見過)。

您可能還會檢查登錄頁面是否仍在配置?

這里是解決方案和問題根源的解釋。

在版本07.00.02和07.04.00之間,DNN框架似乎有所變化,其中使用了dbo.vw_TabPermissions中的RoleName代替了同一視圖中的RoleId。 這是由dbo.GetTabPermissionsByPortal存儲過程返回的。 在07.00.02中,我沒有任何問題,但是在升級之后,考慮到dbo.Roles表中的一些舊數據,這些角色數據是在-1,-2和-3系統角色沒有創建時創建的RoleId -1似乎存在。 在我的系統中,為自定義功能創建了一個非系統角色,因此RoleName不是“ All Users”。

將RoleName字段更新為“ All Users”可解決此問題,並在系統版本為05.06.03時查看舊備份,我的數據庫中沒有RoleId -1,-2和-3的記錄。 從歷史上看,角色在大多數地方似乎都是硬編碼的,就像它們現在仍在版本07.04.00的dbo.vw_TabPermissions中一樣。

因此,根本原因是經過大量調試.Net代碼后,SQL Profiler識別出的錯誤數據不存在問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM