我希望使用spring-security和(最好)基于方法的安全注释来保护基于spring的新客户端服务器系统。
网络应用程序有很多春季示例,但到目前为止我没有找到非网络Java应用程序。
基本上我想以一种对我的管理bean透明的方式处理netty套接字的安全性。例如:在netty处理程序中对连接的用户进行一次身份验证,并将完整的授权保留给我的管理bean上的spring-security和注释。
是这样的吗?
修改
我在junit integration tests找到了一个使用spring-security的例子 我想我可以这样做,但我不能使用IoC作为我的外墙,所以我不喜欢这个想法。
答案 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现在无法找到它...... :(