当我设置身份验证功能重定向属性时,当我访问安全页面时,它不会被应用。 例如,我将身份验证功能设置为重定向以在页面中使用自定义日志。
authFeature.HtmlRedirect = "http://localhost/SimpleService/login";
但是如果我去安全控制器,这个重定向永远不会被应用它总是使用服务堆栈默认的“/ login”。它正在使用的重定向甚至不包括SimpleService的原始站点名称。下面的样品控制器。
[Authenticate]
public class PrivateController : ControllerBase
{
public ViewResult SecurePage()
{
return View();
}
}
我还试图覆盖Authenticate属性上的重定向,但无济于事。有没有人有任何想法我可能做错了什么?
[Authenticate(HtmlRedirect = "http://localhost/SimpleService/login")]
public class PrivateController : ControllerBase
{
public ViewResult SecurePage()
{
return View();
}
}
答案 0 :(得分:7)
我遇到了与上述相同的问题。我找到的解决方法是覆盖基本控制器中的LoginRedirectUrl。这对我有用。
例如
public override string LoginRedirectUrl
{
get
{
return "/Account/Login?redirect={0}";
}
}