2011-11-19 40 views
2

如何使用注释来保护单个事件处理程序? 我知道如何保护完整的页面,但我不知道如何在调用之前检查方法是否有注释。使用注释保护Tapestry事件处理程序

这可能吗?

我不想使用Spring的安全

感谢

回答

3

ChenillKit访问一个很好的模块。 也有基于安全框架阿帕奇四郎tapestry-security模块,提供注解像

@RequiresPermissions("news:delete") 
    public void onActionFromDeleteNews(EventContext eventContext) { 
    ... 
    } 
+0

挂毯的安全性似乎也没有什么积极的发展。 2011年6月发布的最新版本只有2个更改的问题我正在使用tapestry 5.3,不知道这是否支持。 ChenillKit自2008-2009以来似乎已经不复存在 – Quurks

+0

由于5.3根据这个帖子http://permalink.gmane.org/gmane.comp.java.tynamo.user/419我猜想会有一个新版本的Tapestry很快就会有保障。 – frafac

1

随着Chenillekit access模块,您可以使用@Restricted注释上的事件方法以及像这样:

@Restricted(role = YOUR_ROLE_CONSTANT) 
@OnEvent(value="eventName") 
private Object handleEvent() throws Exception { 
    ... your event code .... 
}