Hallo,
ich habe ein Problem mit den User Rollen auf eine lokalen XPage-Replik.
Und zwar benutze ich context.getUser().getRoles().contains('[Admin]');
um zu prüfen ob der User in der Admin-Gruppe ist.
Das klappt auf dem Server auch wunderbar, nur lokal nicht.
Das liegt ja nun daran, dass auf das lokale Benutzeradressbuch names.nsf zugegriffen wird in der die Rollen gar nicht definiert sind.
Jeder User hat in seiner Lokalen Umgebung das Server names.nsf als lokale replik unter einen anderen Namen (servernames.nsf) vorliegen.
Jetzt die Frage: Wie bringe ich der lokalen XPage-Applikation bei, in das lokale servernames.nsf zu schauen anstatt in das lokale names.nsf?
Ich stehe da gerade echt auf dem Schlauch..
Grüße
Lisa
Ich habe wenigstens gehofft, dass der folgende Code funktioniert.
<xp:text escape="true" id="computedField3">
<xp:this.value><![CDATA[#{javascript:var vec:java.util.Vector = session.evaluate("@UserRoles");
return vec.toString();
}]]></xp:this.value>
</xp:text>
Aber wenn man lokal die konsistente ACL aktiviert, kracht es bei mir.
context.getUser().getRoles().contains('[RoleName]');
oder
var v:Array = database.queryAccessRoles(session.getEffectiveUserName());
@IsMember("[role]", v)