在play框架中为授权自定义注释

时间:2014-06-14 13:33:56

标签: java authentication playframework annotations playframework-2.2

首先问好:我正在使用play framework 2.2.3 for java。

有关游戏中身份验证的基本教程显示了如何使用Annotation Security.Authenticated。问题是整个我的应用程序(除了登录和注册表单)都需要保护。

现在我想过重载GlobalSettings onRequest方法并将我的身份验证包含在内部,因此每次调用一个动作都会执行身份验证检查。

但我被告知它不是优雅的方式,并被告知创建类似于Security.Authenticated的另一个注释,但是在整个类而不是方法上工作,并把它放到我的自定义抽象控制器类中,所以我的所有控制器都扩展它会继承这个注释。

现在我想知道如何制作这个注释。有小费吗 ?我应该从哪里开始?我知道基础知识,如何编写注释本身,但我不知道在哪里找到控制器类的注释以检查它是否包含我的自定义注释,并且如果是这样的话,执行身份验证。

1 个答案:

答案 0 :(得分:0)

如果您正在寻找Play的授权+身份验证插件,可以保护整个类,并因此保护其中的所有操作方法,请尝试使用SecureSocial。它有自己的一组注释,并且保护类中的每个操作方法都很简单:

@SecureSocial.SecuredAction 
public class MyController extends Controller {

是的,它比拦截请求和在那里进行检查要多一些工作,但它是一种更灵活的方法,以防你想要"不安全"以后的一些行动。