jai*_*jai 9 java notifications store credentials
背景/上下文
我们正在开发一个事件通知服务.高级别的应用程序如下所示:
我们的开发范围涉及小部件和ENS.
" ENS "充当用户感兴趣的某些类型事件的集中点.任何想知道这些类型的事件何时发生的用户都会注册ENS,它按顺序识别事件并将通知与订阅相匹配.
想要subcibe的用户应该是集成应用程序的有效用户(db,sap system等)
事件顺序:
现在我的问题是:
存储Users db,sap等凭据的最佳实践是什么.
编辑 用户应该多久进行一次身份验证?应该是每次传递消息吗?(正如@duffymo提到的,如果我使用这个策略,它会影响源系统)
附加信息: ENS是网络服务.
ENS轮询SAP(和其他应用程序),这就是问题变得更加复杂的地方.在SAP中,存在数据级授权.因此,并非所有用户都可以查看所有事件/数据.
如果SAP已推送数据以及有权查看的用户信息,则根本没有问题.
案例1:调度程序由ENS启动
Disadvs在这里:
案例2:调度程序由WIDGET引导.用户信用卡仅存储在用户本地计算机中.Diadv:
通常是应用程序向数据库、SAP 等提供凭据。单个用户的凭据将存储在 LDAP 或数据库中;身份验证和授权将作为应用程序、EAI 服务器或 SiteMinder 等设备的横切关注点进行处理。
传入的请求将被拦截并检查授权令牌。如果未出现令牌,请检查身份验证和授权。如果允许,创建授权令牌并缓存它。
这是 Web 应用程序的常见场景。对于像您这样的事件通知情况,情况会更复杂。当用户订阅时,您必须检查授权。如果用户未经授权,您应该立即通知他们,因为您不希望每次发布时都检查凭据。用户、订阅事件和授权凭证之间必须存在关联。
我只看到一个问题。
您可以向未经授权的用户广播事件,如果他们订阅了某个事件,发现他们已获得授权,收到第一个广播,然后由于某种原因变得未经授权。这表明您每次向订阅者广播时都必须检查凭据。这可能会变得繁重并减慢您的应用程序的速度。
查看 SAML 等标准,看看它是否可以帮助您。
缓存问题取决于事件之间的时间和授权更改之间的时间之间的比较。如果事件之间的时间间隔与授权更改相比较长,则您必须每次都进行检查,因为您无法知道自上次事件以来授权是否已被撤销。
归档时间: |
|
查看次数: |
1100 次 |
最近记录: |