lol*_*f37 4 tapestry java-ee tynamo
我最近发现了Tapestry 5,它在视图和控制器之间的明确分离,使用名称标准化而不是XML让我直截了当.坦率地说,我不打算改变,但文档对我来说还不够.
我正在开发的项目必须能够支持多种类型的角色.我必须允许用户认证,根据他们的角色使用某些服务以及他们的角色对URL的访问.
经过一些研究,我遇到了Tapestry-Security,这是Tynamo项目的一部分.
我希望我的服务层完全独立于我的Web应用程序,因为我将使用它来实现Web服务和其他一些东西.到时候我不想做另一个身份识别系统.
我的问题是我没有看到如何在不使用Tapestry的情况下使用Tapestry-Security.他们在Tapestry-Security指南中展示的例子对我来说还不够.我有一个非常粗略的想法,它是如何工作的.但是我不知道如何在Tapestry 5之外使用它.
如何在没有Tapestry 5的情况下使用Tapestry-Security?
我也不了解Tapestry项目中AppModule类中使用的过滤系统.是否有文件说明AppModule与过滤系统的工作方式?
是否有人可以向我解释这些事情或指出我正确的方向?
谢谢.
Tapestry-Security只是Apache Shiro项目的一个薄层.它只提供:
.tml文件中条件呈现的组件在该层下面,有一个普通的Shiro实例完成所有工作,因此您可以访问安全性(例如通过SecurityUtils类),就像您通常不会参与Tapestry一样.
根据评论进行编辑:因此,虽然您可以在您使用的任何Web应用程序中使用Shiro,但Tapestry-Security实际上只是与Tapestry一起使用的包装器.但是,如果您有一个包含Tapestry以及其他servlet(例如Web服务)的应用程序,您应该能够让Tapestry-Security执行初始化工作.
关于Tapestry过滤器: 我担心这个文档记录不好.Tapestry过滤器与Servlet过滤器非常相似,但由于Tapestry 实现为Servlet过滤器本身,因此它具有自己的过滤器链.Tapestry的过滤器实现RequestFilter接口.
public class MyFilter implements RequestFilter {
@Override
public boolean service(final Request request, final Response response,
final RequestHandler handler) throws IOException {
... //your code
try {
return handler.service(request, response);
} finally {
... //your code
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可以通过在应用程序模块中提供它们来将它们添加到过滤器链中:
public void contributeRequestHandler(
final OrderedConfiguration<RequestFilter> configurations) {
configuration.add("MyFilter", new MyFilter());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1784 次 |
| 最近记录: |