【发布时间】:2020-08-14 10:31:48
【问题描述】:
我想以声明的方式给servlet方法添加权限,例如:
// servlet
@Perms("admin", "finance")
public void doPost(servletRequest req, servletResponse res) {
...
}
// web filter
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) {
List<String> allowedRoles = ... // somehow get values from @Perms
}
可能还有其他方法可以在没有注释的情况下执行此操作,这只是我想要做什么的示例。
或者更抽象的例子:
@WebServlet("/someaddress")
// servlet
@What("have a nice day")
public void doPost(servletRequest req, servletResponse res) {
...
}
@WebFilter("/*")
// web filter
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) {
String msg = ... // somehow get values from @What
}
【问题讨论】:
-
你读过关于注解的教程了吗?
-
@ThorbjørnRavnAndersen 是的,如果在我的示例中使用注释,我不知道如何获取请求转到的特定注释方法的值 => 不知道如何获取特定 servlet来自网络过滤器的方法。
-
@JoopEggen 我的问题是如何从网络过滤器中获取元信息(或特定的 servlet)
-
@ЕгорЛебедев 是的,这有点棘手stackoverflow.com/questions/21307477/…