我有一个场景,我在不同的系统(我需要进行REST调用)中拥有角色和权限,并且该系统将指定我是否可以访问特定资源。
我需要拦截我的控制器方法,Interceptor应该与外部服务通信并找出授权。我只使用弹簧靴(没有弹簧安全)。
它应该类似于with JAX-RS,但我正在寻找春天的背景。我可以使用@RolesAllowed
实现此目的吗?
答案 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)