我怎么能覆盖登录网址在ServiceStack.MVC认证? [英] How can I overwrite Login Url in ServiceStack.MVC authentication?
问题描述
如何我重写登录网址?
How can I override login Url?
你能不能把它添加到AuthenticateAttribute财产?
Could you add it to AuthenticateAttribute as property?
推荐答案
在使用ServiceStacks'你无论从 ServiceStackController
或 ServiceStackController&LT继承认证机制; T>
这反过来又继承了前者
When using ServiceStacks' authentication mechanism you inherit from either ServiceStackController
or ServiceStackController<T>
which in turn inherits the former.
登录URL通过的 LoginRedirectUrl
属性来决定 ServiceStackController
。
The login URL is dictated by the LoginRedirectUrl
property of ServiceStackController
.
public virtual string LoginRedirectUrl
{
get { return "/login?redirect={0}"; }
}
既然是虚拟的,你可以简单地覆盖在你自己的控制器。甚至更好,使自己的抽象基控制器,从 ServiceStackController
继承。然后让所有的控制器继承之一。你现在有你控制之类的东西登录URL一个点。
Since it is virtual you can simply override it in your own Controller. Or even better, make your own abstract base controller that inherits from ServiceStackController
. Then let all your controllers inherit that one. You now have a single point where you control things like the login URL.
public abstract class MyControllerBase : ServiceStackController
{
public override string LoginRedirectUrl
{
get { return "/letslogin?redirectTo={0}"; }
}
}
这篇关于我怎么能覆盖登录网址在ServiceStack.MVC认证?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!