Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring security@PostAuthorize Anotion don';有时候我工作不好_Java_Spring_Spring Security_Spring Security Acl - Fatal编程技术网

Java Spring security@PostAuthorize Anotion don';有时候我工作不好

Java Spring security@PostAuthorize Anotion don';有时候我工作不好,java,spring,spring-security,spring-security-acl,Java,Spring,Spring Security,Spring Security Acl,我正在使用Spring来确保java web应用程序的安全性。我对get方法使用@PostAuthorize注释,如下所示: @Override @Transactional public MyEntity get(Serializable id) { MyEntity record = dao.get(id); System.out.println(record.getId() + " : " + record.getName()); return record; } &l

我正在使用Spring来确保java web应用程序的安全性。我对
get
方法使用
@PostAuthorize
注释,如下所示:

@Override
@Transactional
public MyEntity get(Serializable id)
{
   MyEntity record = dao.get(id);
   System.out.println(record.getId() + " : " + record.getName());
   return record;
}
<session-config>
     <session-timeout> 10 </session-timeout>
</session-config>
538 : MyEntity 2
接口

@PreAuthorize("hasAuthority('get')")
@PostAuthorize("hasPermission(returnObject, 'read')")
MyEntity get(Serializable id);
get
实现方法如下:

@Override
@Transactional
public MyEntity get(Serializable id)
{
   MyEntity record = dao.get(id);
   System.out.println(record.getId() + " : " + record.getName());
   return record;
}
<session-config>
     <session-timeout> 10 </session-timeout>
</session-config>
538 : MyEntity 2
web.xml
中,我将sessionConfig设置如下:

@Override
@Transactional
public MyEntity get(Serializable id)
{
   MyEntity record = dao.get(id);
   System.out.println(record.getId() + " : " + record.getName());
   return record;
}
<session-config>
     <session-timeout> 10 </session-timeout>
</session-config>
538 : MyEntity 2
有什么问题


这是一个
spring security
bug

不应该
@预授权(“hasAuthority('get')”)
在没有会话的情况下失败吗?用户登录后发送的所有请求,然后
@预授权(“hasAuthority('get')”)
不是问题。@zapl那里有一个JSSessionID,在两个请求中都是相同的,但是,在超时10秒和3分钟不活动的情况下,服务器不应该将该会话视为无效会话,因此不再授予您任何权限吗?会话id被发送到客户端。编辑:哎呀,10分钟。我误解了你的问题。超时不是10秒,而是10分钟。
@PreAuthorize(“hasAuthority('get')”)
不应该在没有会话的情况下失败吗?用户登录后发送的所有请求,然后
@PreAuthorize(“hasAuthority('get')”)
不是问题。@zapl那里有一个JSESSIONID,在两个请求中都是一样的,但是,在超时10秒和3分钟不活动的情况下,服务器不应该将该会话视为无效会话,因此不再授予您任何权限吗?会话id被发送到客户端。编辑:哎呀,10分钟。我误解了你的问题。超时不是10秒,而是10分钟。