播放框架2.2:如何在Java中获取当前的控制器和动作

赫里达耶斯

在我的应用程序中,身份验证方案基于用户和角色。具有特定角色的用户可以访问特定的操作方法。

为了实现这一点,我做了以下工作

1.写自定义动作

public class Authorization extends play.mvc.Action.Simple {
    public Promise<Result> call(Context ctx) throws Throwable {
        //check access
        return delegate.call(ctx);
    }
}

2.用动作注释控制器

@With(actions.Authorization.class)
public class Upload extends Controller {
    ....
}

在我的操作中,我可以访问会话中的用户。我想获得当前的控制器和操作,以便可以对用户进行身份验证。有什么办法吗?

我已经阅读了有关使用参数创建自定义注释的信息,并且在每个控制器中均通过参数来标识操作。但是,如果我在复制粘贴时写错了动作名称,这似乎很容易出错。

谢谢

塞勒姆

您可以context.request().path()用来获取具有所使用路径的字符串。这将不包含任何查询参数,因此,如果需要它们,则可以使用同一对象的getQueryParameteruri(完整url)方法。

如果您需要更多信息,可以使用context.args这将为您提供具有以下键的地图(在Play 2.2中至少为):

ROUTE_VERB          -> The HTTP verb used (ex: GET)
ROUTE_ACTION_METHOD -> The method called (ex: getUserFavorites)
ROUTE_CONTROLLER    -> Controller class (ex: controllers.api.UsersController)
ROUTE_COMMENTS      -> ???
ROUTE_PATTERN       -> THE URL used (ex: users/favorites)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

播放框架2.2:如何在Java中获取当前的控制器和动作

来自分类Dev

Yii2在控制器中获取当前动作

来自分类Dev

如何在Symfony2控制器中获取动作名称?

来自分类Dev

如何在yii2中隐藏控制器名称和动作名称

来自分类Dev

Symfony2:如何在Ajax控制器中获取当前路由?

来自分类Dev

如何在yii2中获取当前控制器

来自分类Dev

ZF2从路线获取控制器和动作

来自分类Dev

ZF2从路线获取控制器和动作

来自分类Dev

如何在模型或使用服务管理器(Zend 框架 2)中检索请求控制器、动作和模块名称?

来自分类Dev

播放2框架:scala在视图中遍历Java对象的字段

来自分类Dev

播放框架2,postgres“此连接已关闭”

来自分类Dev

播放框架2 ebean @manytoone列指定两次

来自分类Dev

播放框架2 ebean @manytoone列指定两次

来自分类Dev

全部播放框架2.x Ebean查询ManyToMany

来自分类Dev

如何在播放框架控制器中执行简单的MySQL查询?

来自分类Dev

如何在Java中从控制器隐藏登录框架

来自分类Dev

播放框架(2.3)-从控制器获取资产URL

来自分类Dev

播放框架和JNotify

来自分类Dev

播放框架和gradle

来自分类Dev

如何在ZF2中为单个控制器动作设置自定义标头?

来自分类Dev

播放框架,REST,路由和控制器

来自分类Dev

播放框架表单(Java)

来自分类Dev

Yii2从URL获取控制器/动作

来自分类Dev

Symfony2,如果控制器具有构造函数,如何在树枝模板中呈现控制器的动作

来自分类Dev

播放框架中的许多控制器(和会话管理)

来自分类Dev

无法从控制器传递列表以在播放框架中查看

来自分类Dev

如何在Symfony2控制器中获取文件的绝对路径?

来自分类Dev

如何在Symfony2控制器中获取外部IP地址?

来自分类Dev

如何在ZF2的控制器的构造函数中获取标头?

Related 相关文章

  1. 1

    播放框架2.2:如何在Java中获取当前的控制器和动作

  2. 2

    Yii2在控制器中获取当前动作

  3. 3

    如何在Symfony2控制器中获取动作名称?

  4. 4

    如何在yii2中隐藏控制器名称和动作名称

  5. 5

    Symfony2:如何在Ajax控制器中获取当前路由?

  6. 6

    如何在yii2中获取当前控制器

  7. 7

    ZF2从路线获取控制器和动作

  8. 8

    ZF2从路线获取控制器和动作

  9. 9

    如何在模型或使用服务管理器(Zend 框架 2)中检索请求控制器、动作和模块名称?

  10. 10

    播放2框架:scala在视图中遍历Java对象的字段

  11. 11

    播放框架2,postgres“此连接已关闭”

  12. 12

    播放框架2 ebean @manytoone列指定两次

  13. 13

    播放框架2 ebean @manytoone列指定两次

  14. 14

    全部播放框架2.x Ebean查询ManyToMany

  15. 15

    如何在播放框架控制器中执行简单的MySQL查询?

  16. 16

    如何在Java中从控制器隐藏登录框架

  17. 17

    播放框架(2.3)-从控制器获取资产URL

  18. 18

    播放框架和JNotify

  19. 19

    播放框架和gradle

  20. 20

    如何在ZF2中为单个控制器动作设置自定义标头?

  21. 21

    播放框架,REST,路由和控制器

  22. 22

    播放框架表单(Java)

  23. 23

    Yii2从URL获取控制器/动作

  24. 24

    Symfony2,如果控制器具有构造函数,如何在树枝模板中呈现控制器的动作

  25. 25

    播放框架中的许多控制器(和会话管理)

  26. 26

    无法从控制器传递列表以在播放框架中查看

  27. 27

    如何在Symfony2控制器中获取文件的绝对路径?

  28. 28

    如何在Symfony2控制器中获取外部IP地址?

  29. 29

    如何在ZF2的控制器的构造函数中获取标头?

热门标签

归档