You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by Woody Sturges <WS...@bjc.org> on 2002/09/18 14:09:51 UTC
RE: rundata.getACL() returns null for logged-in user
withroles/permissions
Thanks Mark, that worked fine. I'll submit a bug.
Woody
>>> mark_orciuch@ngsltd.com 09/17/02 10:25AM >>>
Woody,
I think that I ran into this before and I still don't know why
rundata's ACL
is null. Feel free to submit this as a bug (perhaps then it will get
looked
at). Here's some code to get user permissions:
Hashtable permSet = new Hashtable(); // use whatever container you
like
here
Iterator roles =
JetspeedSecurity.getRoles(data.getUser().getUserName());
while (roles.hasNext()) {
Iterator perms =
JetspeedSecurity.getPermissions(((Role)roles.next()).getName());
while (perms.hasNext()) {
try {
String perm = ((Permission)perms.next()).getName();
if (!permSet.containsKey(perm)) {
permSet.put(perm, "");
}
} catch (Exception e1) {
}
}
}
In the end, permSet will contain unique set of user permission names.
Hope
this helps.
Best regards,
Mark C. Orciuch
Next Generation Solutions, Ltd.
e-Mail: mark_orciuch@ngsltd.com
web: http://www.ngsltd.com
> -----Original Message-----
> From: Woody Sturges [mailto:WSTURGES@bjc.org]
> Sent: Tuesday, September 17, 2002 10:07 AM
> To: jetspeed-user@jakarta.apache.org
> Subject: rundata.getACL() returns null for logged-in user
> withroles/permissions
>
>
> Hi all, I'm having a problem getting an AccessControlList from within
a
> VelocityPortletAction. I'm using the passed RunData object to grab
the
> ACL, but it returns null. The getUser() works, and the current user
has
> roles and permissions (they can run the portlet, which is secured
with a
> role). Here's my code:
>
> public void doSend(RunData data, Context context)
> {
> try {
> String userName = data.getUser().getUserName();
> PermissionSet permissions = null;
> AccessControlList acl = data.getACL();
> if (acl == null) {
> System.out.println("ACL is NULL!");
> } else {
> permissions = data.getACL().getPermissions();
> }
>
> System.out.println("userName: " + userName + ",
> permissions: " + permissions);
>
> } catch (Exception e) {
> e.printStackTrace();
> context.put("message", e.getMessage());
> }
> }
>
> The above prints:
> [9/17/02 9:18:20:734 CDT] 50795bb5 SystemOut U ACL is NULL!
> [9/17/02 9:18:20:734 CDT] 50795bb5 SystemOut U userName:
wsturges,
> permissions: null
>
> Can anyone offer any suggestions? Thanks in advance,
> Woody
>
> --
> To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
For additional commands, e-mail:
<ma...@jakarta.apache.org>
--
To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
For additional commands, e-mail:
<ma...@jakarta.apache.org>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>