问题标签 [policy-server]

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.

0 投票
2 回答
847 浏览

.net - 策略服务器的意义何在?(银光)

我一直在搞乱 Silverlight 套接字,在摸索我的连接被拒绝的原因后,我意识到我需要设置一个策略服务器。Silverlight 连接到由套接字连接指定的主机上的策略服务器端口。策略服务器返回一个 XML 文件,指定允许对该主机的访问。

我是否正确理解这一点?这有什么意义?难道任何恶意用户都不能简单地忽略策略文件并为所欲为吗?

替代文字 http://www.netortech.com/Content/policy.jpg

0 投票
2 回答
1235 浏览

silverlight - 如何在 Silverlight 中打开一个返回端口 80 的套接字?

有没有办法将 TCP 套接字打开回非标准 Silverlight 端口,例如端口 80?

我不太了解 Silverlight 端口的限制。

我想使用任何端口打开与原始服务器的连接。如果需要,我可以从端口 943 提供策略文件。

0 投票
1 回答
1337 浏览

silverlight - 自定义端口上的 Silverlight 策略服务器?

默认情况下,silverlight 在端口 943 上检查跨域策略。您还可以更改SocketAsyncEventArgs的SocketClientAccessPolicyProtocol属性以在端口 80 上使用 HTTP 进行检查。

我有一个浏览器内的 silverlight 应用程序,并且处于必须使用另一个端口强制执行策略检查的情况。高于 1023。

无论如何,我可以强制 Silverlight 检查与默认端口不同的端口上的跨域策略吗?

0 投票
2 回答
772 浏览

single-sign-on - 为什么在策略服务器安装期间每次想要在 CA SiteMinder 中创建超级用户帐户时都会失败?

我正在尝试从CA Single Sign-On (以前称为 CA SiteMinder)安装CA Policy Server ,但在三四次之后,我总是遇到同样的错误

我尝试执行CA Security Single Sign On Community的讨论“无法初始化策略存储”中提到的内容:

但无法运行 XPSImport。我也不能跑步smreg -su password,我也不知道我做错了什么。我也用谷歌搜索了它,但没有找到任何解决方案。为了帮助我,您需要知道的任何信息,只要说出来。我对这种环境(MS Windows Server、MS SQL Server 等)有点陌生

国王问候。

PS:我正在尝试在 Windows Server 2012 R2 中执行此操作,并且我已经安装了 SQL Server 2012。我决定在 SQL Server 中创建策略存储。SiteMinder 版本为 15.2

0 投票
1 回答
57 浏览

java - 使用 Java 解析和检索 Policy Server 响应的有效方法

我有一个策略服务器,我在其中创建资源和角色。资源由基于角色定义的策略指导。例如。假设我们有以下资源button1、button2、Submit、table2和角色,如Google:NA:Admin、Yahoo:CHN:Admin、Google:CHN:User、Alphabet:EU:Admin等。用户将注册一个通过提供用户名和密码登录到 Policy Server 站点来扮演角色。我正在从服务器获取每个用户的授权资源列表。对于用户名“greenUser”(作为 POST 请求的一部分发送到 Policy Server API 的唯一参数),来自服务器的响应将如下所示。

要求是确定用户的角色、地区、公司和他有权访问的资源列表。因此,我在“角色”的同一名称上创建了一个资源,并限制了该特定角色在 Policy Server 中的访问。例如:我创建了一个角色"Google:NA:Admin"并创建了一个策略来限制只能访问角色"Role:Google:NA:Admin"。目的是找到此资源作为响应的一部分,并确定用户所拥有的角色。用户有可能拥有多个角色。例如。他可以成为 Google(北美地区)和 Alphabet(欧盟地区)的管理员。

从角色中确定地区和公司。我创建了一个如下所示的 JSON:

我创建了一个使用 Java 解析整个 JSON 的方法,如果该值与返回的特定“角色”资源匹配,那么我将捕获键(例如:CHN)作为区域和外部 JSON 元素的键为“公司”。

我想检查是否有更好的方法来确定用户的角色、地区和公司。上面提到的 JSON 是我的想法。我很想听听除 JSON 之外是否有更好的设计或方法。示例代码片段表示赞赏。

对不起,很长的帖子。我尽力捕捉完整的需求。提前致谢。

0 投票
1 回答
1879 浏览

c# - 将实体保存在数据库中而不是 appsettings.json

我有一个项目,我在其中使用 IdentityServer4 和 PolicyServer.Local。IdentityServer4 已经有一个在数据库中存储必要数据的实现,但 PolicyServer 没有。

因此,我尝试自己实现它,并取得了成功,但从某种意义上说,我认为我正在取代大部分 PolicyServers 代码,这感觉并不好。

例如,我已经替换了所有 PolicyServers 实体类(策略、权限、角色)并添加了我自己的,这样我就可以解析列表属性,这一切都是因为实体框架基本上无法映射列表。

我还添加了自己的 PolicyServerRuntimeClient,因为我需要将 Evaluate-Methods 调整为新的实体类。

首先是我的 Startup.cs:

(AuthorizeService 用于从数据库中获取值)

例如,这是我的 Permission-、Roles- 和解决 mn 关系的 PermissionRoles-classes。

这将是我在 CustomPolicyServerRuntimeClient 中的评估方法:

这些是我为使其正常工作所做的主要更改。

在弄清楚如何正确执行此操作之前,我不想在后端做太多工作。

预期的结果是我可能只需要更换

但最后我确实更换了比预期更多的方式。

0 投票
1 回答
100 浏览

asp.net-core - 如何为我的 API 定义两种访问令牌的策略,一种具有身份(子),一种没有身份?

我正在通过 ASPNET Core 使用 IdentityServer4,并且我希望用户通过 Web 浏览器通过他们的身份(隐式和混合)以及通过客户端以编程方式(客户端凭据)访问我的 API。我意识到我所要做的就是添加AddIdentityServerAuthentication,我就完成了。但是,这仅解决了此问题的身份验证方面,而不是授权。

授权:

使用 ASPNET Core,您可以只使用基于角色的身份验证(或类似的 PolicyServer 权限),但前提是您拥有具有角色声明的身份,这不适用于客户端凭据。因此,这使我们需要按角色、策略和范围进行保护。我怎样才能做到这一点?

  • 你不能有多个政策,如果你这样做,它们都必须通过。
  • 您不能有多个身份验证方案,因为我的调用AddIdentityServerAuthentication必须使用相同的权限,那么 IdentityServer4.AccessTokenValidation/JwtBearer 如何知道您尝试通过哪个方案挑战?
  • 多个要求可能有效,但您需要在处理非身份访问令牌的情况下添加额外要求。您如何检测您正在处理的令牌类型?只说“如果没有子,这是客户信誉”是否安全。
  • 我应该放弃这个设计并强制我的用户使用设备代码流吗?看着az cli它神奇地打开一个浏览器,然后你就可以开始编写脚本,尽情享受。IS4 轻松支持这一点,尤其是verficationUrlComplete

我想我有一个有效的 POC,但我对此并不满意。https://gist.github.com/VictorioBerra/8c333a228c55d86a7c15f7f300284634

它基本上涉及重新实现默认范围声明要求处理程序和策略服务器权限要求处理程序。但这是根据令牌类型有条件地应用需求处理程序的唯一方法。

0 投票
2 回答
97 浏览

identityserver4 - 实现一个通用授权服务,当我在多个应用程序/API 中将 Authorize 属性放在它上面时应该调用它

有没有人知道将什么用作一般授权服务,并有一个工作代码示例或良好的实现步骤如何实现这样的事情。

我花了很多时间来寻找我所追求的,但还没有找到任何满意的解决方案。

IdentityServer 不是一个选项,而由于令牌的大小,我的权限不能存储为声明。它带有大约 200 个权限,因此应该在 dbcontext 或其他东西中完成。

我查看了 PolicyServer,但它没有按预期工作。当我在 IS4 应用程序中安装它时,它可以在 IS4 控制器上运行,但是当从外部应用程序调用 Authorize 时,它​​根本不会调用 Authorize 覆盖,因为它应该检查权限。而且似乎在 User.Claims 或其他任何外部应用程序中都没有设置权限。我错过了一些我认为的设置。

我想要完成的是我有一个权限存储(表)(例如包含一堆索引、添加、编辑或删除按钮等等)。应该提供给登录的经过身份验证的用户。但是这个单一的权限存储应该在我运行的所有应用程序或 API 中都可用,以便 Authorize 属性可以完成他的工作。

我认为这不应该那么难做,所以我错过了一个很好的工作示例,如何实现这样的事情以及什么是有效的。谁能帮我完成这件事?

我编写了一些代码来通过 API 调用获取权限并在 IsInRole 覆盖中使用它。但是当我使用 Authorize attr 声明它时,它不会进入方法:

这是 IsInRole 覆盖(ClaimsPrincipal.IsInRole 覆盖):

  1. 当它没有在请求中发送 access_token 时,这不起作用
  2. 'sub' 未发送
  3. 始终为空
0 投票
0 回答
19 浏览

web - 使用 C# 向策略服务器提交 Web 证书请求

如何从 C# .Net 执行以下命令?certreq -submit -Username <域\用户> -p -policyserver https://hostname/ADPolicyProvider_CEP_UsernamePassword/service.svc/CEP -config https://hostname/SOMENAME_UsernamePassword/service.svc/CES -attrib "CertificateTemplate:MyTemplate" "源.req" "源.cer"

找到以下但没有使用策略服务器的选项,我可以看到 RequestDisposition requestResult = (RequestDisposition)objCertRequest.Submit(0xff, strRequest, strAttribute, strCAConfig);