请求上下文中的ServiceStack HasPermission

Fen

我正在尝试利用servicestack的身份验证和授权功能,这样我就不需要用它来污染我的服务代码,这将导致更清洁的测试等。

在我的应用程序中,用户有权在特定上下文中执行某项操作。

即,用户只能查看其产品集中的产品。

为此,我考虑过使用名为canView的权限属性装饰productViewRequest dto,然后创建我自己的IAuthSession实现,以检查用户是否在其允许的范围内请求产品。

这会是一个体面的方法还是我在错误的树上吠叫?

假设这是一种正确的方法,如何在会话实现的HasPermission调用中获取上下文(即productViewRequest对象)?

谢谢你的帮助

首先,我将检查ServiceStack内置的身份验证选项https://github.com/ServiceStack/ServiceStack/wiki/Authentication-and-authorization

如果这不符合您的要求,则请求过滤器属性将使您能够访问请求上下文。

public class CanViewAttribute : RequestFilterAttribute {
    private readonly string permission;

    public CanViewAttribute(string permission) {
        this.permission = permission;
    }

    public override void Execute(IHttpRequest req, IHttpResponse res, object responseDto) {
        // todo: check permission

        if (!hasPermission) {
          res.StatusCode = (int)HttpStatusCode.Forbidden;
          res.EndRequest();
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

“请求的地址在其上下文中无效” SocketException

来自分类Dev

在SS上下文之外访问ServiceStack请求

来自分类Dev

使用Spring Security'hasPermission()'对未经授权的REST服务请求返回JSON

来自分类Dev

传入请求的上下文

来自分类Dev

TypeScript和“ this”上下文中的KeyListener

来自分类Dev

单值上下文中的多值

来自分类Dev

标量上下文中的Perl数组

来自分类Dev

线程上下文中的模板方法

来自分类Dev

在特定上下文中创建资源

来自分类Dev

什么是git上下文中的“ Maildir”?

来自分类Dev

asm上下文中“ vector”的含义

来自分类Dev

在上下文中解析类型

来自分类Dev

Python在“ with”上下文中处理参数

来自分类Dev

模拟上下文中的LocalDB操作

来自分类Dev

这在上下文中无效

来自分类Dev

Servlet上下文中的NoSuchMethodError

来自分类Dev

线程上下文中的模板方法

来自分类Dev

标量上下文中的Perl数组

来自分类Dev

在上下文中评估变量

来自分类Dev

从上下文中获取活动?

来自分类Dev

irq上下文中的PID

来自分类Dev

特定上下文中的继承与组合

来自分类Dev

当我尝试监听端口时,请求的地址在其上下文中无效

来自分类Dev

套接字错误请求的地址在其上下文中无效

来自分类Dev

AssertionError:`HyperlinkedIdentityField`需要序列化器上下文中的请求

来自分类Dev

在ASP.NET Core中的IoC服务容器的上下文中有哪些请求?

来自分类Dev

如何在请求上下文中访问MvcApplication类的实例属性?

来自分类Dev

c#TCP / IP通信错误:请求的地址在自己的上下文中无效

来自分类Dev

`HyperlinkedIdentityField` 需要序列化程序上下文中的请求

Related 相关文章

热门标签

归档