我一直在使用一种技术来保护 ServiceStack 中的纯 cshtml 文件(不受服务支持)。我将在下面概述我正在使用的技术。但是,最近在 ServiceStack 中添加了 Razor 2 支持破坏了我的实现。
原始实施
using ServiceStack.Razor;
using ServiceStack.ServiceInterface;
public class SecuredViewPage : ViewPage
{
public override void Init(ServiceStack.Razor.Templating.IRazorViewEngine viewEngine, ServiceStack.Html.ViewDataDictionary viewData, ServiceStack.ServiceHost.IHttpRequest httpReq, ServiceStack.ServiceHost.IHttpResponse httpRes)
{
new AuthenticateAttribute().Execute(httpReq, httpRes, this);
base.Init(viewEngine, viewData, httpReq, httpRes);
}
}
然后在我的cshtml文件中,我有以下内容:
@inherits SecuredViewPage
现在的问题是,在 3.9.94 中, Init 方法不再是ViewPageBase中的抽象方法。
My Questions
有没有更好的方法来实现这一目标?
或者
我应该看看 ServiceStack 是否会改变实现?