首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >授权与使用ABAC/XACML的验证

授权与使用ABAC/XACML的验证
EN

Stack Overflow用户
提问于 2017-11-11 19:40:02
回答 1查看 168关注 0票数 1

我不确定ABAC/XACML的授权边界在哪里,我应该在哪里使用验证。

示例1

我有一个类用户和一个类消息。当用户U1创建新消息M1时,M1的创建者属性必须是U1

示例2

我有一个类用户。当某人创建一个新用户U2时,密码大小应该大于8。

示例3

我有一个类用户。当某人创建一个新用户U3时,用户名应该是唯一的。

但我该去哪查呢。我是以编程方式验证它,还是通过对PEP的请求来授权它。特别是示例2并不是真正的“您不允许这样做”-problem(授权),而更多的是“您做错了什么”-problem(验证)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-20 17:45:03

您所述的示例中没有一个是ABAC/XACML的好例子。

示例1

当用户U1创建新消息M1时,M1的创建者属性必须是U1。

这完全是业务逻辑。创建消息的操作将M1的所有者属性设置为U1。它与XACML无关。XACML是关于授权的,即是否允许用户执行某个操作。在这种情况下,您可以编写XACML规则,说明用户U1是否可以创建消息;用户U1是否可以查看或编辑属于U2的消息。

例2

我有一个类用户。当有人创建一个新用户U2时,密码大小应该大于8。

这是来自应用程序的PoV的验证。您的应用程序与身份验证或密码无关。它依赖于密码管理器。密码管理器本身(例如LDAP、AD.)有关于密码强度/生存期/格式的策略。这些策略可能是XACML的,但到目前为止,我只看到了专有格式。

示例3

我有一个类用户。当有人创建一个新的用户U3时,用户名应该是唯一的。

同样,这是关于验证的。这与您的应用程序无关,而是与您使用的用户帐户管理解决方案(例如LDAP )有关。在那里,您可以决定有禁止相同用户名或禁止某些字符(例如@符号)的规则。用户管理解决方案肯定可以使用XACML,但从应用程序的PoV来看,这是正交的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47242051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档