方案:在Intranet应用程序中,ADFS使用AD进行身份验证(帐户存储),使用Sql server进行授权(角色/属性存储)。
角色是我自己的应用程序特定的。还有其他应用程序需要使用ADFS。如果ADFS配置为使用我的SQL Server来获取角色,那么其他应用程序会做什么?他们将如何管理授权?
我的理解是否正确?如果是,请验证我的答案:
Ans:ADFS只返回AD标识符(SID / Name)。我将此映射到我的sql server角色。角色管理应该由我自己的连接到Sql server的应用程序完成。使用会话可以防止每次都要命中DB进行授权。
答案 0 :(得分:0)
为避免每次授权检查都访问SQL Server,您可以实现基于声明的身份验证。使用SQL属性存储将您的角色声明添加到AD用户ID声明。生成的声明票证(SAML)作为cookie发送,并且不会在每次身份验证检查时获取,因为服务器在每个请求上可用的用户浏览器将其保存为cookie。可以通过调整索赔票TTL(生存时间)来设置超时/刷新。
只是建议... = o)