我怎么能覆盖登录网址在ServiceStack.MVC认证? [英] How can I overwrite Login Url in ServiceStack.MVC authentication?

查看:175
本文介绍了我怎么能覆盖登录网址在ServiceStack.MVC认证?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何我重写登录网址?

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆