This forum is closed to new posts and
responses. Individual names altered for privacy purposes. The information contained in this website is provided for informational purposes only and should not be construed as a forum for customer support requests. Any customer support requests should be directed to the official HCL customer support channels below:
Subject: Testing Role Membership in LotusScript with Evaluate - Prevent client debugger override
Feedback Type: Question
Product Area: Notes Client
Technical Area: Security
Platform: ALL
Release: 8.5.3
Reproducible: Not applicable
I want to test if a person running some LotusScript on their client has been granted a role, and only if they have that role, allow a branch of code to execute. So I can use:
x = Evaluate({@if(@Contains(@userroles;"[SpecialUser]");"1";"0")})
If x(0) = "1" Then
...
However, it is possible for a person with only reader access and with no roles granted, to turn on the debugger, set a breakpoint at 'if x(0)="1" then' and manipulate the x values to give x(0)="1" when it was "0".
I want to perform this test in one line, with no intermediate variables, to prevent this from happening.
If Evaluate(|@Contains(@userroles;"[SpecialUser]")|)(0)=1 Then
(or
If Evaluate(|@IsMember(@userroles;"[SpecialUser]")|)(0)=1 Then
to keep people from suggesting side-tracking changes!:-)
But no matter what the "blah" is below, any of these lines give an "Unexpected (; expect: operator; THEN; GOTO
if Evaluate("blah")(0)=1
if Evaluate("blah")(0)="1"
Why can I do this to a class method like:
if doc.getItemValue("ItemName")(0)="1" then
but I can't do this syntax for a lotusScript Evaluate function or statement (the help doc calls it "Evaluate function and statement" so I am not sure what it is!
Feedback number WEBB9NM858 created by ~Tony Deswetheretsi on 09/04/2014
Status: Open
Comments: