2013-02-22 4 views
0

Какая часть asp.net mvc отвечает за генерацию ReturnUrl. На данный момент я получаю это:ReturnUrl поколения после FormsAuthentication.SignOut()

?ReturnUrl=%2f 

после:

FormsAuthentication.SignOut(); 

Это происходит в модели, которая вызывается так:

[HttpGet] 
public ActionResult LogOff() 
{ 
    _xModel.LogOff(); 
    return Redirect("/"); 
} 

изменения это:

[HttpGet] 
public ActionResult LogOff() 
{ 
    _xModel.LogOff(); 
    return RedirectToAction("Index", "Home"); 
} 

не работает.

ответ

5

Какая часть ASP.NET MVC ответствен для генерации ReturnUrl

None. Это вовсе не часть ASP.NET MVC. Он является частью FormsAuthenticationModule, который автоматически регистрируется для каждого приложения ASP.NET, в котором вы активируете аутентификацию форм. Чтобы этого избежать, вы всегда должны перенаправлять после выписки пользователя:

FormsAuthentication.SignOut(); 
return RedirectToAction("Index", "Home"); 
+0

спасибо. должен был сказать asp.net, а не asp.net mvc - извините. см. отредактированный вопрос, хотя ... – cs0815

+0

Я не понимаю, что вы имеете в виду, когда говорите «это не работает» после изменения кода для использования «RedirectToAction» («Index», «Home»). Каково ожидаемое и каков фактический результат? Также является ли действие Index на домашнем контроллере защищенным ресурсом? –

+0

Я ожидаю, что ReturnUrl будет содержать uri, где пользователь до этого выходит, а не% 2f. – cs0815

Смежные вопросы