具有外部角色的REST授权

时间:2015-04-23 17:10:29

标签: java spring security authorization interceptor

我有一个场景,我在不同的系统(我需要进行REST调用)中拥有角色和权限,并且该系统将指定我是否可以访问特定资源。

我需要拦截我的控制器方法,Interceptor应该与外部服务通信并找出授权。我只使用弹簧靴(没有弹簧安全)。

它应该类似于with JAX-RS,但我正在寻找春天的背景。我可以使用@RolesAllowed实现此目的吗?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您需要具有要注释的配置(查看弹簧documentation

PARSE ARG NSTR
SERVER = ipaddress                                                  
SERVER_INFO = 'AF_INET 7500 ' !! SERVER                                  
STR = SOCKET('INITIALIZE',TIME('S'))                                     
PARSE VAR STR SOCKRC SUBTASKID MAXDES TCPIPUSER                          
STR = SOCKET('SOCKET', 'AF_INET', 'STREAM', 'TCP')                       
PARSE VAR STR SOCKRC SOCKID                                              
STR = SOCKET('SETSOCKOPT', SOCKID, 'SOL_SOCKET', 'SO_REUSEADDR', 'ON')   
STR = SOCKET('CONNECT', SOCKID, SERVER_INFO)                             
STR = SOCKET('SEND', SOCKID, NSTR)                                       
STR = SOCKET('CLOSE', SOCKID)                                            
STR = SOCKET('TERMINATE', SUBTASKID)                                     
EXIT    

然后,您必须创建自己的访问决策管理器并注册自己的角色。有了这个,您应该能够将控制器注释到特定用户,如@EnableGlobalMethodSecurity(jsr250Enabled = true)