如何使 ServiceStak 服务仅供内部访问

How to make ServiceStak service internal access only

我想让所有服务仅供内部访问。 有没有办法全局设置 RestrictAttribute 来影响所有服务?

限制所有服务的最简单方法是使用 GlobalRequestFilter,例如:

GlobalRequestFilters.Add((req, res, dto) => {
    if ((RequestAttributes.InternalNetworkAccess & req.RequestAttributes) == 0)
    {
        res.StatusCode = (int)HttpStatusCode.Forbidden;
        res.StatusDescription = "External Requests are Forbidden";
        res.EndRequest();
    }
});