先借用某马的一张图
就比如有这样一个分布式系统架构的web项目(使用 maven 管理),用中间件 dubbo 解耦,并将服务层的每个服务部署在不同的服务器上,现在我有个疑问:如果我想在每个服务(当然,除了那个SSO服务)前校验用户是否登录和用户权限该如何设计比较好?
我现在的权限校验的功能是写在单点登录服务里的,是要让其他项目依赖这个SSO服务,然后每个服务里写个拦截器进行校验?但感觉这样写并不太好,求大神指点一下,感激不尽。

解决方案 »

  1.   

    没什么不好的,适合你们自己的项目就行,虽然我并不觉得你这个是单点登录,从你描述来说,就仅仅是个权限认证的服务罢了,而且管理系统和其他系统都非同一套用户体系
    但权限认证算得上是公共模块,可以在common project里加上接口/过滤器,web应用大概就只需要请求权限和认证,其他dubbo服务需要依赖数据权限相关的接口