为什么@Secured在Tapestry 5.4.0中不起作用?

时间:2019-04-11 09:48:34

标签: java spring-security tapestry

我刚刚将Tapestry 5.3.8升级到5.4.0,然后我发现@Secured注释存在问题。如果我转到具有此@Secured的页面,则会抛出异常function add( a, b) { return a+b; }org/apache/tapestry5/services/TransformMethodSignature(不详细)。 5.4.0不再支持它吗?还是我需要升级pom.xml中的某些内容?

pom.xml

could not initialize class nu.localhost.tapestry5.springsecurity.services.internal.TransformConstants2

1 个答案:

答案 0 :(得分:1)

好吧,经过几天的苦苦挣扎,我终于弄明白了这个库:

<dependency>
    <groupId>com.github.lltyk</groupId>
    <artifactId>tapestry-spring-security</artifactId>
    <version>3.0.3</version>
</dependency>

跟不上Tapesty 5.4,因为它有一个类:nu.localhost.tapestry5.springsecurity.services.internal.TransformConstants2引用了org.apache.tapestry5.services.TransformMethodSignature,在Tapestry 5.4中不再可用。

我曾尝试将tapestry-spring-security升级到最高版本:3.0.5,但仍然无法跟上Tapestry 5.4的步伐,因此解决该问题的唯一方法是删除它。为了替换tapestry-spring-security提供的所有功能,我需要在pom中添加4个新的lib(在您的情况下,您可能需要增加或少于4个):spring-security-core:4.0.0 .M1,spring-security-web:4.2.3.RELEASE,spring-dao:2.0.8,servlet-api:2.5

就我而言,我需要从以下类的原始源中复制代码:LogoutService(接口),LogoutServiceImplIfRoleIfLoggedIn。创建文件并粘贴代码。