You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by sm...@apache.org on 2015/03/11 15:54:43 UTC
directory-fortress-commander git commit: FC-79 - add common security
components
Repository: directory-fortress-commander
Updated Branches:
refs/heads/master 8fb94a07f -> 574d31c0f
FC-79 - add common security components
Project: http://git-wip-us.apache.org/repos/asf/directory-fortress-commander/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-fortress-commander/commit/574d31c0
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-commander/tree/574d31c0
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-commander/diff/574d31c0
Branch: refs/heads/master
Commit: 574d31c0f0932672448e12c759b4334619ab5d85
Parents: 8fb94a0
Author: Shawn McKinney <sm...@apache.org>
Authored: Wed Mar 11 09:54:30 2015 -0500
Committer: Shawn McKinney <sm...@apache.org>
Committed: Wed Mar 11 09:54:30 2015 -0500
----------------------------------------------------------------------
.../web/SecureBookmarkablePageLink.java | 26 ++++++++++++++------
1 file changed, 18 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-fortress-commander/blob/574d31c0/src/main/java/org/apache/directory/fortress/web/SecureBookmarkablePageLink.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/web/SecureBookmarkablePageLink.java b/src/main/java/org/apache/directory/fortress/web/SecureBookmarkablePageLink.java
index 2cadff9..fedc6bd 100644
--- a/src/main/java/org/apache/directory/fortress/web/SecureBookmarkablePageLink.java
+++ b/src/main/java/org/apache/directory/fortress/web/SecureBookmarkablePageLink.java
@@ -25,6 +25,7 @@ import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import javax.servlet.http.HttpServletRequest;
+import java.util.StringTokenizer;
/**
@@ -35,20 +36,15 @@ import javax.servlet.http.HttpServletRequest;
*/
public class SecureBookmarkablePageLink extends BookmarkablePageLink
{
- /** Default serialVersionUID */
- private static final long serialVersionUID = 1L;
-
-
public <C extends Page> SecureBookmarkablePageLink( String id, Class<C> pageClass, String roleName )
{
super( id, pageClass );
- if ( !isAuthorized( roleName ) )
+ if(!isAuthorized( roleName ))
{
setVisible( false );
}
}
-
public <C extends Page> SecureBookmarkablePageLink( String id, Class<C> pageClass, PageParameters parameters,
String roleName )
{
@@ -59,10 +55,24 @@ public class SecureBookmarkablePageLink extends BookmarkablePageLink
}
}
-
private boolean isAuthorized( String roleName )
{
HttpServletRequest servletReq = ( HttpServletRequest ) getRequest().getContainerRequest();
- return SecUtils.isAuthorized( roleName, servletReq );
+ return isAuthorized( roleName, servletReq );
+ }
+
+ private boolean isAuthorized( String roleNames, HttpServletRequest servletReq )
+ {
+ boolean isAuthorized = false;
+ StringTokenizer tokenizer = new StringTokenizer( roleNames, "," );
+ if (tokenizer.countTokens() > 0)
+ {
+ while (tokenizer.hasMoreTokens())
+ {
+ String roleName = tokenizer.nextToken();
+ isAuthorized = SecUtils.isAuthorized( roleName, servletReq );
+ }
+ }
+ return isAuthorized;
}
}