나는 asp.net에서 FriendlyUrl 개념 초보자입니다. 로그인 페이지에 ReturnUrl을 사용하고 싶습니다. http://localhost:8080/login?ReturnUrl=/page
을 계속 사용할 수 있습니까?asp.net FriendlyUrls에서 ReturnUrl을 사용하는 방법?
그래서 한 번 사용자가
나는 asp.net에서 FriendlyUrl 개념 초보자입니다. 로그인 페이지에 ReturnUrl을 사용하고 싶습니다. http://localhost:8080/login?ReturnUrl=/page
을 계속 사용할 수 있습니까?asp.net FriendlyUrls에서 ReturnUrl을 사용하는 방법?
그래서 한 번 사용자가
예이 여전히 가능하지만 난 제대로 질문을 이해한다면 아마 당신이 기대하지 어떤 returnurl로 리디렉션됩니다에서의 로그인. ReturnUrl은 Friendlyurls 플러그인이 그대로 남긴 Querystring parameter이지만 Friendlyurl은이 매개 변수를 사용하여 리디렉션을 수행하지 않습니다. 그것은 당신이해야 할 일입니다.
코드에서 수행해야하는 유일한 작업은 로그인 코드가 완료되고 사용자를 성공적으로 인증 한 후이 매개 변수를 사용하여 Response.Redirect
을 수행하는 것입니다. 당신은 슬래시를 빠져 나올 수 있으므로 쉽게 얻을 수 있습니다. 그냥 뒤에 코드에서이 작업을 수행 :
VB
If Request.QueryString("ReturnUrl") <> Nothing Then
Response.Redirect(Request.QueryString("ReturnUrl"))
Else
// Do your normal redirect here
End If
C#
if (Request.QueryString["ReturnUrl"] != "" &&
Request.QueryString["ReturnUrl"] != null)
{
Response.Redirect(Request.QueryString["ReturnUrl"]);
}
else
{
// Do your normal redirect here
}
그렇게를 사용하는 경우 ReturnUrl 사용할 수 있고 경우 코드가 확인합니다이 방법 리디렉션하거나 사용 가능한 경우 기본 리디렉션을 사용하십시오.
물론 리디렉션 할 때 프로젝트의 폴더 구조를 생각해야합니다. 리디렉션 할 페이지가 프로젝트의 하위 폴더에있는 경우 하위 폴더를 ReturnUrl=SubfolderName/Page
과 같은 리디렉션 위치에 추가해야합니다. FriendlyUrls 및 Distinct 페이지 이름을 사용하는 경우에도 항상 중요합니다.
FriendlyUrls가 ReturnUrl로 작동하지 않는 곳에서 동일한 문제가 발생했습니다. 사용 된 솔루션은 아래의 ReturnUrl을 재정의합니다. 추가 옵션은 Jeroens 코드에서 ReturnUrl을 사용하는 것입니다.
Protected Sub Login1_LoggedIn(ByVal sender As Object, ByVal e As System.EventArgs) Handles Login1.LoggedIn
'overrides ReturnUrl page parameter
Response.Redirect(Login1.DestinationPageUrl)
End Sub
다른 asp.net webform으로 리디렉션 하시겠습니까? –