使用 authzforce 在包中添加多个值
Add multiple values in bag using authzforce
我知道这里已经有一个关于 Whosebug 的问题,其中讨论了这个问题,但我仍然无法将正确的值发送到 Bag.newAttributeBag,希望得到一些帮助。
final Collection<StringValue> subjectList = new ArrayList<>();
subjectList.add("123456");
subjectList.add("John Smith");
final AttributeFqn subjectIdAttributeId = AttributeFqns.newInstance(XACML_1_0_ACCESS_SUBJECT.value(), Optional.empty(), XacmlAttributeId.XACML_1_0_SUBJECT_ID.value());
final AttributeBag<?> subjectIdAttributeValues = Bags.newAttributeBag(StandardDatatypes.STRING, subjectList);
requestBuilder.putNamedAttributeIfAbsent(subjectIdAttributeId, subjectIdAttributeValues);
如果我使用 Collection StringValue,我会在 subjectList.add
上收到错误
The method add(StringValue) in the type Collection is not applicable for the arguments (String)
如果我使用 Collection<String>
,我会在 newAttributeBag 上收到错误消息。如何向我的 Bag.newAttributeBag 添加多个值?
The method newAttributeBag(Datatype, Collection) in the type Bags is not applicable for the arguments (AttributeDatatype, Collection)
你应该这样做:
subjectList.add(new StringValue("123456"));
subjectList.add(new StringValue("John Smith"));
我知道这里已经有一个关于 Whosebug 的问题,其中讨论了这个问题,但我仍然无法将正确的值发送到 Bag.newAttributeBag,希望得到一些帮助。
final Collection<StringValue> subjectList = new ArrayList<>();
subjectList.add("123456");
subjectList.add("John Smith");
final AttributeFqn subjectIdAttributeId = AttributeFqns.newInstance(XACML_1_0_ACCESS_SUBJECT.value(), Optional.empty(), XacmlAttributeId.XACML_1_0_SUBJECT_ID.value());
final AttributeBag<?> subjectIdAttributeValues = Bags.newAttributeBag(StandardDatatypes.STRING, subjectList);
requestBuilder.putNamedAttributeIfAbsent(subjectIdAttributeId, subjectIdAttributeValues);
如果我使用 Collection StringValue,我会在 subjectList.add
上收到错误The method add(StringValue) in the type Collection is not applicable for the arguments (String)
如果我使用 Collection<String>
,我会在 newAttributeBag 上收到错误消息。如何向我的 Bag.newAttributeBag 添加多个值?
The method newAttributeBag(Datatype, Collection) in the type Bags is not applicable for the arguments (AttributeDatatype, Collection)
你应该这样做:
subjectList.add(new StringValue("123456"));
subjectList.add(new StringValue("John Smith"));