如何使用注释添加servlet授权

时间:2014-06-13 14:34:06

标签: java servlets

我试图创建一个授权机制,在检查请求参数后有条件地运行servlet。此授权代码应在servlet之前运行,并且应具有servlet对象本身的句柄。 servlet对象的句柄可用于检查是否定义了授权注释。我为此探索了过滤器,但过滤器无法访问servlet实例。获得这种拦截器功能的最简单方法是什么?

4 个答案:

答案 0 :(得分:0)

如果您使用的是Tomcat,则可以创建LoggingFilter。

答案 1 :(得分:0)

获得类似AOP行为的最简单方法是使用AOP框架,如Guice或AspectJ。无论Java EE容器如何,这都将起作用。

这是Guice website上的一个例子。

答案 2 :(得分:0)

对于真正的应用程序,您应该使用Apache Shiro等框架在第一种方法上更简单,或者SpringSecurity更强大。{{3}}。我试过两个,最后一个结束。

答案 3 :(得分:0)

感谢您的回复。我尝试了一件事,它对我有用。我在超类中添加了以下代码:

    Method[] methods = this.getClass().getMethods();
    Method annotatedMethod = null;
    Annotation[] annotations = null;
    for (Method method : methods) {
        if (method.getName().equals("doGet") || method.getName().equals("doPost")) {
            annotations = method.getAnnotations();
            annotatedMethod = method;
            break;
        }
    }

注意:DoPost方法是注释保护的。