在DNN模塊的上下文中,找出登錄功能的URL是一種很好的通用方法?如何在DotNetNuke中獲取門戶網站當前的登錄URL?
3
A
回答
3
這裏是個實用方法獲取登錄網址:
C#
/// <summary>
/// Gets the login URL for the given portal from the current <paramref name="request"/>.
/// </summary>
/// <param name="portalSettings">The portal settings.</param>
/// <param name="request">The request.</param>
/// <returns>The URL for the login page</returns>
/// <exception cref="ArgumentNullException">if <paramref name="portalSettings"/> or <paramref name="request"/> is null.</exception>
public static string GetLoginUrl(PortalSettings portalSettings, HttpRequest request)
{
if (portalSettings != null && request != null)
{
int tabId = portalSettings.ActiveTab.TabID;
string controlKey = "Login";
string returnUrl = request.RawUrl;
if (returnUrl.IndexOf("?returnurl=", StringComparison.OrdinalIgnoreCase) > -1)
{
returnUrl = returnUrl.Substring(0, returnUrl.IndexOf("?returnurl=", StringComparison.OrdinalIgnoreCase));
}
returnUrl = HttpUtility.UrlEncode(returnUrl);
if (!Null.IsNull(portalSettings.LoginTabId) && string.IsNullOrEmpty(request.QueryString["override"]))
{
// user defined tab
controlKey = string.Empty;
tabId = portalSettings.LoginTabId;
}
else if (!Null.IsNull(portalSettings.HomeTabId))
{
// portal tab
tabId = portalSettings.HomeTabId;
}
// else current tab
return Globals.NavigateURL(tabId, controlKey, new string[] { "returnUrl=" + returnUrl });
}
throw new ArgumentNullException(portalSettings == null ? "portalSettings" : "request");
}
VB.NET
''' <summary>
''' Gets the login URL for the given portal from the current <paramref name="request"/>.
''' </summary>
''' <param name="portalSettings">The portal settings.</param>
''' <param name="request">The request.</param>
''' <returns>The URL for the login page</returns>
''' <exception cref="ArgumentNullException">if <paramref name="portalSettings"/> or <paramref name="request"/> is null.</exception>
Public Shared Function GetLoginUrl(portalSettings As PortalSettings, request As HttpRequest) As String
If portalSettings <> Nothing AndAlso request <> Nothing Then
Dim tabId As Integer = portalSettings.ActiveTab.TabID
Dim controlKey As String = "Login"
Dim returnUrl As String = request.RawUrl
If returnUrl.IndexOf("?returnurl=", StringComparison.OrdinalIgnoreCase) > -1 Then
returnUrl = returnUrl.Substring(0, returnUrl.IndexOf("?returnurl=", StringComparison.OrdinalIgnoreCase))
End If
returnUrl = HttpUtility.UrlEncode(returnUrl)
If Not Null.IsNull(portalSettings.LoginTabId) AndAlso String.IsNullOrEmpty(request.QueryString("override")) Then
' user defined tab
controlKey = String.Empty
tabId = portalSettings.LoginTabId
ElseIf Not Null.IsNull(portalSettings.HomeTabId) Then
' portal tab
tabId = portalSettings.HomeTabId
End If
' else current tab
Return Globals.NavigateURL(tabId, controlKey, New String() {"returnUrl=" + returnUrl})
End If
Throw New ArgumentNullException(If(portalSettings = Nothing, "portalSettings", "request"))
End Function
0
不確定DNN具體的東西,但你不能只用以下屬性?
FormsAuthentication.LoginUrl
下面是有關MSDN頁面:
0
您可以在CTL =登錄查詢字符串傳遞去默認的DNN登錄頁面,即使默認的網址是什麼?已被修改..
string loginURL = string.Format("{0}://{1}/Default.aspx?ctl=login",
Request.Url.Scheme, Request.Url.Host);
Response.Redirect(loginURL);
3
Globals.LoginURL
public static string LoginURL(
string returnURL,
bool override
)
相關問題
- 1. 獲取當前用戶名,即在SharePoint 2010門戶中登錄
- 2. 獲取TFS URL在門戶網站
- 3. 如何登錄網站獲取當前位置?
- 4. 如何在asp.net mvc4中獲取當前登錄的用戶名?
- 5. 如何在magento中獲取當前登錄客戶的性別?
- 6. 如何在Windows中獲取當前登錄用戶的域名?
- 7. 如何在wordpress中獲取當前登錄用戶的角色?
- 8. 如何在Access VBA中獲取當前登錄的Windows用戶?
- 9. 獲取當前登錄的Windows用戶?
- 10. 如何顯示當前登錄網站的用戶
- 11. 如何在ViewComponent中獲取當前登錄用戶Asp.Net核心
- 12. 如何在joomla中獲取當前用戶登錄信息
- 13. 如何獲取當前登錄的access_token?
- 14. 如何獲取當前登錄的用戶的ID在pyrocms?
- 15. 客戶門戶網站中未登錄的用戶
- 16. 如何獲取當前Windows登錄用戶的用戶名?
- 17. 如何獲取當前登錄用戶的用戶對象
- 18. 如何獲取Pinax中當前登錄的用戶?
- 19. pysvn:獲取當前登錄用戶名
- 20. 獲取當前登錄用戶
- 21. QT獲取當前登錄用戶ID
- 22. Sails.js + Passport.js獲取當前登錄用戶
- 23. 獲取當前登錄用戶PHP
- 24. 獲取當前登錄用戶asp.net
- 25. 的Windows Azure Portal登錄到門戶網站和接收錯誤「我們無法登錄您到門戶網站」
- 26. 遠程登錄到DotNetNuke網站
- 27. 無法登錄到DotNetNuke網站
- 28. 如何在登錄時獲取當前用戶密鑰
- 29. 如何從URL中獲取當前網頁目錄?
- 30. 如何獲取登錄到當前會話的用戶的ID?
如果returnURL有查詢字符串參數(基本上包含?),那麼該方法返回當前頁面:(。似乎可以在DNN 6和7中重現。 – Valentin 2016-02-12 09:55:57
其實登錄地址如果沒問題。具有查詢字符串參數時,登錄後的重定向不起作用。 – Valentin 2016-02-12 13:52:02