我有一個驗證的全局請求過濾器由mythz(ServiceStack DEV)的建議,在此SO AnswerServiceStack全局請求過濾器不點火
我的過濾器:
RequestFilters.Add((httpReq, httpResp, requestDto) =>
{
if (!PublicRoutes.Contains(httpReq.PathInfo))
{
new AuthenticateAttribute().Execute(httpReq, httpResp, requestDto);
}
});
過濾不火對我來說當我請求繼承dynamic ViewPage
例/Default.cshtml ServiceStack剃刀的網頁:
@inherits ViewPage
<!DOCTYPE html>
<html>
<head>
<title>HOME</title>
...
...
ETC
在註釋answer的底部,提問者提出了類似的行爲,但沒有準確描述如何重現,所以我看不到解決方案。
有沒有解決方案?我做錯了什麼嗎?
UPDATE
我發現我可以在我的網頁上直接申報屬性:
@using ServiceStack.ServiceInterface
@inherits ViewPage
@{
new AuthenticateAttribute().Execute(Request, Response, this);
}
<!DOCTYPE html>
...
...
ETC
或者,我敢肯定,我可以創建一個類繼承的ViewPage和運行它們其Init方法並在Razor頁面上使用新類。
雖然這兩種解決方案看起來都是無關緊要的,並不是非常乾燥。