如何使用spring安全性保护套接字服务器?

时间:2012-03-20 14:03:18

标签: spring-security netty

我希望使用spring-security和(最好)基于方法的安全注释来保护基于spring的新客户端服务器系统。

网络应用程序有很多春季示例,但到目前为止我没有找到非网络Java应用程序。

基本上我想以一种对我的管理bean透明的方式处理netty套接字的安全性。例如:在netty处理程序中对连接的用户进行一次身份验证,并将完整的授权保留给我的管理bean上的spring-security和注释。

是这样的吗?

修改

我在junit integration tests找到了一个使用spring-security的例子 我想我可以这样做,但我不能使用IoC作为我的外墙,所以我不喜欢这个想法。

3 个答案:

答案 0 :(得分:1)

Spring Security支持使用注释在方法级别进行身份验证处理。你可以按照“@PreAuthorize”中的描述尝试Access Control using @PreAuthorize and @PostAuthorize注释 - 虽然我不确定在调用方法之前如何获得适当的安全上下文。

答案 1 :(得分:0)

虽然我确信你可以共同破解它以使其发挥作用,但总的来说,Spring Security 非常专注于保护 web 服务器。特别是,这一焦点在系统的过滤器链体系结构中很明显,该体系结构源于在web.xml中具有过滤器委托。

如果在核心过滤器链中存在依赖关系,并且存在一个在链中上下传递的httpRequest对象,我不记得副作用,但是如果您打算尝试将Spring Security包装在套接字周围,在那个位置安装适配器将是一个可能的起点。

所以,简而言之,我认为它可能是可能,但它绝对不容易,而且可能不会给你带来太多好处,因为大部分架构和默认安全部分都期望围绕网页请求。

答案 2 :(得分:0)

答案与春季安全无关,但如果您担心的只是“安全”,请查看apache shiro。我看到一些文档说它可以在套接字级别保护,Howerver现在无法找到它...... :(