【问题标题】:AOP with ServiceStack带有 ServiceStack 的 AOP
【发布时间】:2015-05-04 03:53:41
【问题描述】:

我需要运行一些代码在某些服务调用期间检查用户的订阅,所以我认为类似 AOP 的方法会很好。

调用应确定该方法是继续执行还是返回错误消息。

如何在 ServiceStack 框架内完成这项工作?

【问题讨论】:

    标签: c# .net servicestack


    【解决方案1】:

    根据用户订阅的含义,内置的身份验证和角色可能适合您的需要。

    wikianswer 中有很多信息,但基本上您可以向类添加属性以防止在用户没有指定角色的情况下访问:

    [Authenticate]
    //All HTTP (GET, POST...) methods need "CanAccess"
    [RequiredRole("Admin")]
    [RequiredPermission("CanAccess")]
    public class Secured
    {
        public bool Test { get; set; }
    } 
    

    【讨论】:

    • 这不仅仅是访问角色,因为它们可能具有正确的角色,但根据操作,它们可能会被拒绝。例如。用户订阅了 10 个用户,但我们要确保当他们创建第 11 个用户时,服务会返回错误消息。因此,与其在会影响用户数量的各种服务中到处都有这种逻辑,不如能够指定哪些服务应该检查这一点。
    【解决方案2】:

    你可以看看AutoQuery dynamically generates Services如何使用code-gen动态生成Service实现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-17
      • 2011-12-30
      相关资源
      最近更新 更多