问题标签 [claims]
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.
azure - Azure ACS + 自定义 STS,可能适用于混合方案吗?
我目前正在尝试了解 Azure ACS 与基于声明的身份验证的组合以及使用自定义 STS 的选项,但我只是慢慢地了解(不幸的是,很少)信息源。在我花更多时间在这之前,我想确认我的计划是否可行。我有多个 azure 角色(web+worker),员工和客户都可以通过 Internet 访问这些角色。此外,员工可以从我们的本地网络内部访问这些角色和桌面应用程序。
用户数据来自两个来源。我们的 azure 应用程序包含有关客户和员工的用户数据,我们的(本地)广告仅来自员工。
为了使登录体验尽可能高效(且符合人体工学),当通过我们的本地网络访问时,员工应在桌面应用程序(自动由于 Windows 用户配置文件上下文)和 azure 上自动进行身份验证(Windows 集成身份验证?)应用程序(希望没有登录页面)。另一方面,客户在访问 azure 应用程序时应输入他们的用户凭据,但不必在不同的“凭据源”之间做出决定,他们应该只获取用户名+密码表单。换句话说
- 员工从本地网络访问 Azure 应用程序 -> 使用集成的 Auth/AD 数据自动登录
- 员工从 Internet 访问 Azure 应用程序 -> 用户名+密码表单
- 客户从 Internet 访问 Azure 应用程序 -> 用户名+密码表单
在写这个问题时,我想到了另外两个:
1) 甚至可以根据源/cookie/wizardry 自动登录,还是需要手动用户选择“凭据源”?
2) 如果 Azure ACS“知道”用户名 X 的 AD 帐户与 Azure App 用户 Y 相同,那么登录哪个帐户有关系吗?应用程序可以在任一登录路径上访问相同的声明数据吗?
sharepoint - InfoPath 表单如何获取登录到 SharePoint 的用户的声明?
我们有一个包含提案列表(InfoPath 表单)的文档库。来自不同组织的用户使用声明(表单身份验证,通过外联网)通过 SharePoint 登录。表单在客户端的 InfoPath 中打开。InfoPath 表单包含一个字段,表示提案所属的组织(选择列表),然后用户在填写表单时选择该字段。
我们编写了一个自定义声明提供程序,它使用组织声明来增加每个用户的登录。
当用户在 InfoPath 表单填充器中打开来自 SharePoint 的提案时,我们希望:
- 使用与用户声明匹配的组织预填充组织选择列表
- 如果用户对组织的声明值与表单上选定的组织不匹配,则限制表单的保存(插入和更新)
我想知道如何在 InfoPath 中获取声明信息。或者,有关如何使用自定义工作流/事件接收器/Web 服务(或其他东西)在服务器端执行此操作的想法。
asp.net-mvc - SessionAuthenticationModule 有时不会反序列化来自 cookie 的所有声明
我在 MVC 应用程序和自定义逻辑中使用 WIF 和基于声明的安全性,在验证后使用适当的声明创建 ClaimsPrincipal。我将一些标准声明(例如角色和名称)分配给委托人,但也会在适用的情况下分配自定义声明。
例如,我使用 URI 在标准化角色和名称声明之后建模了我的自定义声明
新声明(“http://schemas.acme.com/2012/04/identity/claims/create”、“http://schemas.acme.com/2012/04/identity/resources/customer”)
一切都运作良好。我使用 SessionAuthenticationModule 将用户会话存储在 cookie 中,并在每次请求时对其进行补充。
我今天注意到,在有人使用相同的用户类型登录后,我的自定义声明没有从 cookie 中反序列化。标准声明(名称/角色)存在,但自定义声明不存在。
有没有其他人见过这个或知道为什么会这样?
rules - 如何在 AD FS 2.0 声明规则中提取应用程序返回 URL 和其他自定义参数?
这可能是关于 AD FS 2.0 声明规则设计的一个非常基本的问题,我还没有找到答案(新手)。我可能遗漏了一些非常基本的东西,但是这里有。
我正在公司内部署一个联盟。公司用户将能够浏览到 Web 应用程序 A、B、C 等。每个应用程序都有自己的子域 URL,例如 app-a.company.org、app-b.company.org 等。当应用程序重定向到其受信任的 STS 登录页面 我希望将返回 URL 传递给 STS。在 STS 声明规则中,我想提取返回 URL 并执行数据库查找,例如对于当前用户和 URL 为“app-a.company.org”的应用程序,我想要用户在该应用程序中拥有的所有角色(例如管理员、超级用户、购买者等等)。
我的问题是:
- 如何将返回 URL 传递给 STS?
- 如何编写索赔规则?(我知道如何进行数据库查找并发布结果,但我不知道如何在声明规则中检索返回 URL 或任何其他自定义参数)。
干杯,
莱纳斯
asp.net-web-api - Web API 和 .NET 4.5:声明和权利
是否有使用权利管理声明的最佳实践?
我正在使用新的 .net 4.5 和新的声明类。目前我做这样的事情:
我添加了没有价值的权利声明。稍后我检查是否存在权利。不需要值(如真/假) - 如果存在,则其隐含的“真”。
有没有更好的方法来做到这一点?
desktop-application - 在 DesktopApp 中从 STS 获取声明(活动)
在理解如何在本地桌面应用程序中使用声明方面,我非常感谢一些帮助。这是场景:我想根据用户是否有类似“AnalysisAllowed:true”的声明来显示一个选项卡 fe。所以我想在应用程序启动时获取声明并稍后绑定它们。
所有示例都在讨论如何使 WCF 使用 Authorization- 和 AuthenticationManagers 对其他 WCF-Services 进行基于声明的调用,但我只想联系 sts(我该怎么做?WCF-Fed 绑定?)然后缓存使用它的东西。没有其他服务电话... :)
非常感谢!
exception - 以编程方式获取用户声明价值
我正在尝试以编程方式为特定用户获取 wso2 身份服务器声明值。但是,当我每次遇到异常时都尝试访问它时,我设法以编程方式添加了声明
我使用的代码是:
什么会导致此异常,我该如何解决?
c#-4.0 - WIF 4.5 声明值 - 对象引用未设置为对象的实例
我正在使用新的 WIF 4.5 SDK,但我遇到了与 LINQ 相同的烦人异常,使用 .FirstorDefault() 解决了
这里的问题是 Windows Live ID 在声明中没有 email 值,所以如果用户使用 live ID 登录,我有一个NullReferenceException - Object reference not set to an instance of an object。我也试过;
没有成功
如果索赔中没有电子邮件,我如何返回 NULL 或“”?
谢谢
asp.net - 从 AD 撤销声明/令牌,通过 ADFS 到 RP
我们有一个网站,我们的用户通过从 ADFS 获取 STS 来访问该网站。ADFS 通过检查用户在 Active Directory 中的组成员身份来发出声明。该网站使用 WIF 访问声明和处理身份验证。
有没有办法,当用户的 AD 数据更改(例如,他们删除了所有组成员身份)时,在他们对 RP 的声明中立即反映这些更改(相同的会话,至少来自用户的 PoV)?目前,如果我们撤销 AD 中的成员资格,则该用户对 RP 的声明(在其当前会话中)不受影响。他们拥有与撤销之前相同的声明和访问权限,直到用户的 ADFS 会话过期(可能需要数小时)。
例如,用户 U1 通过 ADFS 登录到我们的网站 W1,浏览了一下,然后在 AD 中取消了他的会员资格。我们需要 U1 在很短的时间段(分钟)内自动退出 W1。如果未注销,也可以将其在 WIF 中的声明集重置以反映其现在为空的 AD 组成员身份。
这可能吗?我能找到的所有文档似乎都假设网站本身(W1)知道用户何时应该终止他们的会话——在我们的例子中,W1 不知道,会话到期的“触发器”(或至少索赔修正)将来自公元。
exception - WSO2 身份服务器 - LDAP 在只读模式下工作,但设置为 false
<Property name="ReadOnly">false</Property>
- 这是在我的身份服务器的 usr-mgt.xml 中设置的。
当我尝试调用设置用户声明值的方法时 - storeManager.setUserClaimValue(String userName, String claimURI, String claimValue,String profileName) 它给了我这个异常:
org.wso2.carbon.user.core.UserStoreException: User store is operating in read only mode. Cannot write into the user store.
我错过了什么吗?