Tôi có một bộ lọc yêu cầu toàn cầu để xác thực theo đề nghị của mythz (ServiceStack dev), trong này SO AnswerServiceStack toàn cầu Yêu cầu Lọc Không Firing
lọc của tôi:
RequestFilters.Add((httpReq, httpResp, requestDto) =>
{
if (!PublicRoutes.Contains(httpReq.PathInfo))
{
new AuthenticateAttribute().Execute(httpReq, httpResp, requestDto);
}
});
Bộ lọc không cháy đối với tôi khi tôi yêu cầu các trang ServiceStack Razor kế thừa dynamic ViewPage
Ví dụ /Default.cshtml:
@inherits ViewPage
<!DOCTYPE html>
<html>
<head>
<title>HOME</title>
...
...
ETC
Xuống dưới cùng của answer, trong nhận xét, trình tạo câu hỏi đề xuất hành vi tương tự, nhưng không mô tả chính xác cách sao chép, vì vậy tôi không thể thấy giải pháp.
Có giải pháp nào không? Tôi đã làm điều gì đó không chính xác?
CẬP NHẬT
tôi đã phát hiện ra tôi có thể tuyên bố các thuộc tính trên trang của mình trực tiếp:
@using ServiceStack.ServiceInterface
@inherits ViewPage
@{
new AuthenticateAttribute().Execute(Request, Response, this);
}
<!DOCTYPE html>
...
...
ETC
Hoặc tôi chắc chắn rằng tôi có thể tạo ra một lớp kế thừa ViewPage và chạy chúng trong phương thức Init của nó và sử dụng lớp mới trên các trang Razor.
Cả hai giải pháp đó dường như không liên quan và không phải là rất DRY.