问题标签 [federation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wcf-data-services - 如何通过 SQL Azure 联合使用 WCF 数据服务?
是否可以使用 WCF 数据服务来提供对存储在 SQL Azure 联合的联合成员中的实体的 CRUD 访问?
假设联合密钥存储在安全主体中并且在应用程序上下文中随时可用,是否有一种方法可以拦截服务操作并发出适当的 USE FEDERATION 命令,在正确的时间打开连接,就像明确的那样为ADO.NET 实体框架开发?
stored-procedures - 如何将存储过程部署到 SQL Azure 中的联合数据库
我目前正在努力设置自动迁移以转到 Azure 中的联合数据库。我终于让表的部署工作了,但未来需要关注的一件事是部署存储过程。
看来,当我们添加一个存储过程时,它只存在于我们所在的联邦的任何部分。因此,如果我将数据分离到两个数据库中并将存储过程部署到其中一个数据库,那么它只会在那里。有什么方法可以将存储过程部署到 Azure 中内置的联合中的每个数据库?
我确实找到了一篇关于从多个数据库查询的 msdn 博客文章,我认为我可以修改它以部署过程,但我宁愿不在当前的迁移设置中实现它,因为我认为它会变得混乱。
reporting-services - 是否可以将 SQL Azure 报告与过滤的 SQL Azure 联合数据库一起使用?
是否可以将 SQL Azure Reporting Services 与使用联合的 SQL Azure 数据库一起使用,表由租户 ID 联合,并且要求对数据库的所有访问都通过由联合密钥过滤的连接完成,即按租户过滤?
仅按照此论坛帖子中的建议连接到特定的联邦成员数据库是不够的,因为一个租户不能查看另一个租户的数据。SQL Azure 联合必须通过使用“FILTERING=ON”条件过滤连接。
有什么方法可以让 SQL Azure Reporting Services 执行必要的 USE FEDERATION 命令以通过联合密钥过滤连接?
或者,让 Reporting Services 以任何其他方式(如 OData Web 服务)访问可能被过滤的数据?
期望的结果是每个租户都可以运行报告并且只能看到自己的数据。
jakarta-ee - 水平分片、Java EE 和 JNDI
几个月后,我将不得不对我的应用程序进行水平分区。我的应用程序中有某些服务需要大量的 CPU 和内存,为了可扩展性,我希望将其分片到多个 JVM。
我有一个 EAR,它封装了我需要分区的服务。当我这样做时,服务的客户端(例如 UI)将需要能够处理服务的特定实例。例如,假设我有一个名为 Account 的服务,但实际上我有 3 个该服务的实例在三个不同的 JVM 中运行(但都在同一个 Java EE 域中)。假设我有一个可以从帐户 ID 映射到特定 VM 的服务定位器,我将如何访问可以为该特定帐户提供服务的 EJB?
我可以看到的一个潜在解决方案是利用应用程序容器为单独应用程序中的 EJB 提供的 JNDI 名称。如果我以不同的名称将模块部署三个不同的时间,我可以进行 JNDI 查找以找到它们:
java:global/AccountServer1/AccountFacade
java:global/AccountServer2/AccountFacade
java:global/AccountServer3/AccountFacade
为了使它工作,我永远不能使用依赖注入来访问 AccountFacade,我必须使用能够获取 AccountID 并将其映射到 Account 应用程序之一的 AccountLocator EJB。如果我想变得棘手,我可能会实现一个“本地”帐户外观,它透明地进行查找,假设方法的参数可以识别要使用的服务器......
这种方法可行吗?有更好的选择吗?
sql - SQL Azure 联合和原子单元标识
我已经开始开发我的第一个 Azure 应用程序,并且我在学习过程中学到了很多东西。我最近发现的功能之一是 SQL Azure 中的联合,本质上是 SQL Azure 分片实现,因此我们可以水平扩展。
我的项目开始使用 SQL Server,并且已经在很大程度上按用户配置文件进行分组,因此我认为联合起来最有意义。我已经创建了联邦,包括所有带有一个障碍的子表 - 不支持身份。我明白为什么不支持它,我不确定用什么来代替它是最好的。这似乎是其他人必须解决的一个大问题,但我找不到太多。
我可以只使用 UniqueIdentifier,但我读到这可能会很痛苦。我也不太确定使用 GUID 作为联合表的主键会遇到哪些其他性能问题。
我将它与实体框架一起使用,但还没有达到使联邦友好的地步。据我所知,这并不比在编写 LINQ 查询之前执行一些代码来选择联邦复杂多少,但是当我到达它时我会越过那座桥。
目前,我不知道如何最好地将项目实际添加到我的联合中,因为没有很好的解决方案来生成身份。
任何建议将不胜感激。
windows - 用于生产部署的 Windows Azure ACS 更改联合元数据和 Web.Config
我有一个使用 Windows Azure ACS 的应用程序。我已经使用 ACS 实现了 Facebook、LiveID、Yahoo 和 Google 身份验证。
它在开发机器上运行良好。
我的应用程序在开发期间在http://127.0.0.1:81上运行,但在生产中在域 xxxxx.com 上运行。
如何动态更改生产部署的 FederationMetadata.xml 和 Web.config 设置?我需要手动完成还是有自动的方式来完成?
security - 联合/SSO 技术
我想知道跨一组公共网站实施联合的技术。简单的答案是“联邦”或“saml”。但是,在实践中,我可以看到很多技术问题:创建帐户链接(以便站点 1 中的用户“SteveRoy”链接到站点 2 中的“SRoy”),更改登录页面以引用中央 IdP,处理不拥有跨所有站点的帐户,处理跨站点的会话注销等。简而言之,“saml”似乎是对一个更复杂的问题的过度简化。很想听听那些在这个领域取得成功的人的细节......
single-sign-on - 谷歌单点登录解决方案
Google 有一个时髦的解决方案,可以在其所有站点上提供 SSO。它似乎可以很好地管理多个帐户,允许帐户链接,允许用户在尝试访问服务时从多个帐户中进行选择等。
是否有任何关于 Google 提供此 SSO 解决方案的信息?
另外,我查看了他们的登录页面,想知道是否有人知道登录屏幕上 URL 中使用的各种参数的用途?
sequence - 在 SQL Azure 联合上生成序列号的有效方法
考虑到 SQL Azure 联合不支持 IDENTITY 属性或序列,在插入记录时生成序列号的有效方法是什么?
例如,给定一个包含这些列的表:
对于为给定租户插入的每个订单,OrderId 应递增。例如,对于租户 A,OrderId 将是 1、2、3...,而对于租户 B,OrderId 也将是 1、2、3...,按独立顺序排列。理想情况下应该没有间隙。
TenantId 和 OrderId 是主键的组成部分。它们的值由应用程序设置,与生成序列的问题无关;只有 OrderId 有具有业务意义的序号。此外,TenantId 是联邦的分发密钥。
这篇 MSDN 博客文章在选项 1 中描述了一种方法,即拥有一个保存序列的表并在隔离事务中使用存储过程来增加序列。每个租户都会在此表上拥有一条记录,其中包含序列的最后使用值。
考虑到可扩展性、争用、资源锁定,这是否是最佳方法?考虑到 SQL Azure 联合的限制,还有其他有用的技巧吗?
wcf - 如何通过配置为 ws-federation 绑定设置 STS 颁发者的服务标识的用户主体名称?
使用 WS-Federation 绑定时,如何在 WCF 客户端配置中为颁发者STS指定服务身份主体名称?
我有一个在前端服务器上的域帐户下运行的应用程序池,尝试使用联合身份验证到应用服务器上的后端服务(在域帐户下运行),使用 STS 也在应用服务器上和域帐户下运行。
为了正确使用 Kerberos,我需要在前端客户端上设置 STS 的用户主体名称。我看不出该怎么做。
我遇到了一个连接问题,即当使用 FQDN 指定颁发者并且 Kerberos 失败(SSPI 协商失败)时回退到 NTLM 不起作用我认为是因为我在配置中没有颁发者主体名称。如果我改为使用 IP 地址设置发行者,那么我认为使用 NTLM 对 STS 的身份验证会成功,所以我有一个解决方法。
STS 基于该端点上的 Windows 身份验证发布令牌。它还有其他用于表单类型身份验证等的端点。
可能我们网络上的一个相关问题是,如果没有手动将服务器添加到 IE 中的本地 Intranet 区域,则回调 Web 服务的 Silverlight 客户端无法正常工作。似乎由于某种原因,应用服务器不被视为位于同一域中。任何线索非常感谢!