com.sap.cloud.sdk.cloudplatform.security.user.UserAccessor类允许我检索当前用户及其属性。
例如:
Optional<UserAttribute> optionalfirstName = user.getAttribute("firstname");
UserAttribute ua = optionalfirstName.get();
一旦检索到UserAttribute,它就有两个属性“名称”和“值”。但是,没有可用的方法来获取值。我如何获得价值?
答案 0 :(得分:5)
取决于您使用的SAP CP环境,UserAttribute是以下内容的实例:
SimpleUserAttribute<String>
on Neo CollectionUserAttribute<String>
在Cloud Foundry上您可以通过类型转换到所需实例来访问相应的值:
if( ua instanceof SimpleUserAttribute ) {
String value = (String) ((SimpleUserAttribute<?>)ua).getValue();
}
else if ( ua instanceof CollectionUserAttribute ) {
Collection<?> values = ((CollectionUserAttribute<?>)ua).getValues();
}
注意:我们计划在以后的SDK版本中对此进行简化,以便返回StringUserAttribute
和StringCollectionUserAttribute
实例,以方便使用。