Hi,

I tried to create a "SecureWebMarkupContainer" (contains a DataView, Label,..), 
which should be only visible for authorized users. But although the user has 
the permission "APPL_ADMIN", he cannot see the "resultHiddenPanel".

Within the hive I used the wicket id "resultHiddenPanel" to identify the 
component, but within the logfile there's the message, that the component 
"SecureWebMarkupContainer" (class name) is not found.

Perhaps do I have to create a subclass of SecureWebMarkupContainer for each 
WebMarkupContainer component and add that classname to the hive ?

---

Code:

 

Hive:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" 
/><o:p></o:p>

<o:p> </o:p>

01 // pages allowed for all users<o:p></o:p>

02 grant<o:p></o:p>

03 {<o:p></o:p>

04 permission ${ComponentPermission} "xxx.yyy.zzz.front.Login", "inherit, 
render";<o:p></o:p>

05 permission ${ComponentPermission} "xxx.yyy.zzz.front.Login", 
"enable";<o:p></o:p>

06 permission ${ComponentPermission} "xxx.yyy.zzz.front.Welcome", "inherit, 
render";<o:p></o:p>

07 permission ${ComponentPermission} "xxx.yyy.zzz.front.Welcome", 
"enable";<o:p></o:p>

08<o:p></o:p>

09 };<o:p></o:p>

10<o:p></o:p>

11 grant principal 
org.apache.wicket.security.hive.authorization.SimplePrincipal 
"APPL_ADMIN"<o:p></o:p>

12 { <o:p></o:p>

13 // Menu Administration - Product areas<o:p></o:p>

14 permission ${ComponentPermission} "xxx.yyy.zzz.front.ProductAreaListPage", 
"inherit, render";<o:p></o:p>

15 permission ${ComponentPermission} "xxx.yyy.zzz.front.ProductAreaListPage", 
"enable";<o:p></o:p>

16 <o:p></o:p>

17 // Product area list page - Hidden panel<o:p></o:p>

18 permission ${ComponentPermission} 
"xxx.yyy.zzz.front.ProductAreaListPage:resultHiddenPanel", "inherit, render, 
enable";<o:p></o:p>

19 permission ${ComponentPermission} 
"xxx.yyy.zzz.front.ProductAreaListPage:resultHiddenPanel", "enable";<o:p></o:p>

20 };<o:p></o:p>

21<o:p></o:p>

22<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

Application.log<o:p></o:p>

<o:p> </o:p>

2008-05-13 12:26:14,566 DEBUG 
org.apache.wicket.security.hive.config.PolicyFileHiveFactory.skipLine(PolicyFileHiveFactory.java:949)
 - skipping line 1: // pages allowed for all users<o:p></o:p>

2008-05-13 12:26:14,566 DEBUG 
org.apache.wicket.security.hive.config.PolicyFileHiveFactory.resolveAliases(PolicyFileHiveFactory.java:294)
 - resolved alias: ComponentPermission to 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission<o:p></o:p>

2008-05-13 12:26:14,566 DEBUG 
org.apache.wicket.security.hive.config.PolicyFileHiveFactory.resolveAliases(PolicyFileHiveFactory.java:294)
 - resolved alias: ComponentPermission to 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission<o:p></o:p>

2008-05-13 12:26:14,566 DEBUG 
org.apache.wicket.security.hive.config.PolicyFileHiveFactory.resolveAliases(PolicyFileHiveFactory.java:294)
 - resolved alias: ComponentPermission to 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission<o:p></o:p>

2008-05-13 12:26:14,566 DEBUG 
org.apache.wicket.security.hive.config.PolicyFileHiveFactory.resolveAliases(PolicyFileHiveFactory.java:294)
 - resolved alias: ComponentPermission to 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission<o:p></o:p>

2008-05-13 12:26:14,566 DEBUG 
org.apache.wicket.security.hive.config.PolicyFileHiveFactory.skipLine(PolicyFileHiveFactory.java:949)
 - skipping line 8: <o:p></o:p>

2008-05-13 12:26:14,566 DEBUG 
org.apache.wicket.security.hive.BasicHive.addPrincipal(BasicHive.java:108) - 
Adding 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.Login" "access, inherit, render" to everybody<o:p></o:p>

2008-05-13 12:26:14,566 DEBUG 
org.apache.wicket.security.hive.BasicHive.addPrincipal(BasicHive.java:108) - 
Adding 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.Welcome" "access, render, enable" to everybody<o:p></o:p>

2008-05-13 12:26:14,566 DEBUG 
org.apache.wicket.security.hive.BasicHive.addPrincipal(BasicHive.java:108) - 
Adding 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.Welcome" "access, inherit, render" to everybody<o:p></o:p>

2008-05-13 12:26:14,566 DEBUG 
org.apache.wicket.security.hive.BasicHive.addPrincipal(BasicHive.java:108) - 
Adding 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.Login" "access, render, enable" to everybody<o:p></o:p>

2008-05-13 12:26:14,566 DEBUG 
org.apache.wicket.security.hive.config.PolicyFileHiveFactory.skipLine(PolicyFileHiveFactory.java:949)
 - skipping line 10: <o:p></o:p>

2008-05-13 12:26:14,566 DEBUG 
org.apache.wicket.security.hive.config.PolicyFileHiveFactory.skipLine(PolicyFileHiveFactory.java:949)
 - skipping line 13: // Menu Administration - Product areas<o:p></o:p>

2008-05-13 12:26:14,581 DEBUG 
org.apache.wicket.security.hive.config.PolicyFileHiveFactory.resolveAliases(PolicyFileHiveFactory.java:294)
 - resolved alias: ComponentPermission to 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission<o:p></o:p>

2008-05-13 12:26:14,581 DEBUG 
org.apache.wicket.security.hive.config.PolicyFileHiveFactory.resolveAliases(PolicyFileHiveFactory.java:294)
 - resolved alias: ComponentPermission to 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission<o:p></o:p>

2008-05-13 12:26:14,581 DEBUG 
org.apache.wicket.security.hive.config.PolicyFileHiveFactory.skipLine(PolicyFileHiveFactory.java:949)
 - skipping line 16: <o:p></o:p>

2008-05-13 12:26:14,581 DEBUG 
org.apache.wicket.security.hive.config.PolicyFileHiveFactory.skipLine(PolicyFileHiveFactory.java:949)
 - skipping line 17: // Product area list page - Hidden panel<o:p></o:p>

2008-05-13 12:26:14,581 DEBUG 
org.apache.wicket.security.hive.config.PolicyFileHiveFactory.resolveAliases(PolicyFileHiveFactory.java:294)
 - resolved alias: ComponentPermission to 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission<o:p></o:p>

2008-05-13 12:26:14,581 DEBUG 
org.apache.wicket.security.hive.config.PolicyFileHiveFactory.resolveAliases(PolicyFileHiveFactory.java:294)
 - resolved alias: ComponentPermission to 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission<o:p></o:p>

2008-05-13 12:26:14,581 DEBUG 
org.apache.wicket.security.hive.BasicHive.addPrincipal(BasicHive.java:108) - 
Adding 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.ProductAreaListPage" "access, inherit, render" to [EMAIL 
PROTECTED]<o:p></o:p>

2008-05-13 12:26:14,581 DEBUG 
org.apache.wicket.security.hive.BasicHive.addPrincipal(BasicHive.java:108) - 
Adding 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"*xxx.yyy.zzz.front.ProductAreaListPage:resultHiddenPanel*" "access, render, 
enable" to [EMAIL PROTECTED]<o:p></o:p>

2008-05-13 12:26:14,581 DEBUG 
org.apache.wicket.security.hive.BasicHive.addPrincipal(BasicHive.java:108) - 
Adding 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"*xxx.yyy.zzz.front.ProductAreaListPage:resultHiddenPanel*" "access, inherit, 
render, enable" to [EMAIL PROTECTED]<o:p></o:p>

2008-05-13 12:26:14,581 DEBUG 
org.apache.wicket.security.hive.BasicHive.addPrincipal(BasicHive.java:108) - 
Adding 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.ProductAreaListPage" "access, render, enable" to [EMAIL 
PROTECTED]<o:p></o:p>

2008-05-13 12:26:14,581 DEBUG 
org.apache.wicket.security.hive.config.PolicyFileHiveFactory.skipLine(PolicyFileHiveFactory.java:949)
 - skipping line 21: <o:p></o:p>

2008-05-13 12:26:14,581 DEBUG 
org.apache.wicket.security.hive.config.PolicyFileHiveFactory.skipLine(PolicyFileHiveFactory.java:949)
 - skipping line 22: <o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

2008-05-13 12:26:31,741 DEBUG 
org.apache.wicket.security.hive.BasicHive.hasPermission(BasicHive.java:214) - 
Subjects[HashKey: 821489378, sortOrder 0 = [EMAIL PROTECTED] implies 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.Welcome" "access"<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

2008-05-13 12:26:31,960 DEBUG 
org.apache.wicket.security.hive.BasicHive.hasPermission(BasicHive.java:214) - 
Subjects[HashKey: 821489378, sortOrder 0 = [EMAIL PROTECTED] implies 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.Welcome" "access, render"<o:p></o:p>

2008-05-13 12:26:31,960 DEBUG 
org.apache.wicket.security.hive.BasicHive.hasPermission(BasicHive.java:188) - 
Subjects[HashKey: 821489378, sortOrder 0 = [EMAIL PROTECTED] has a cached match 
for 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.Welcome" "access, render", result true<o:p></o:p>

<o:p> </o:p>

2008-05-13 12:26:31,960 DEBUG 
org.apache.wicket.security.hive.BasicHive.hasPermission(BasicHive.java:214) - 
Subjects[HashKey: 821489378, sortOrder 0 = [EMAIL PROTECTED] implies 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.ProductAreaListPage" "access, render"<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

2008-05-13 12:26:32,178 DEBUG 
org.apache.wicket.security.hive.BasicHive.hasPermission(BasicHive.java:195) - 
Subjects[HashKey: 821489378, sortOrder 0 = [EMAIL PROTECTED] has an exact match 
for 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.ProductAreaListPage" "access, render, enable"<o:p></o:p>

<o:p> </o:p>

2008-05-13 12:26:32,178 DEBUG 
org.apache.wicket.security.hive.BasicHive.hasPermission(BasicHive.java:188) - 
Subjects[HashKey: 821489378, sortOrder 0 = [EMAIL PROTECTED] has a cached match 
for 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.ProductAreaListPage" "access, render, enable", result 
true<o:p></o:p>

<o:p> </o:p>

2008-05-13 12:26:32,178 DEBUG 
org.apache.wicket.security.hive.BasicHive.hasPermission(BasicHive.java:188) - 
Subjects[HashKey: 821489378, sortOrder 0 = [EMAIL PROTECTED] has a cached match 
for 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.ProductAreaListPage" "access, render, enable", result 
true<o:p></o:p>

<o:p> </o:p>

2008-05-13 12:26:35,582 DEBUG 
org.apache.wicket.security.hive.BasicHive.hasPermission(BasicHive.java:214) - 
Subjects[HashKey: 821489378, sortOrder 0 = [EMAIL PROTECTED] implies 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.ProductAreaListPage" "access"<o:p></o:p>

<o:p> </o:p>

2008-05-13 12:26:35,613 DEBUG 
org.apache.wicket.security.hive.BasicHive.hasPermission(BasicHive.java:188) - 
Subjects[HashKey: 821489378, sortOrder 0 = [EMAIL PROTECTED] has a cached match 
for 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.ProductAreaListPage" "access, render", result true<o:p></o:p>

<o:p> </o:p>

2008-05-13 12:26:35,613 DEBUG 
org.apache.wicket.security.hive.BasicHive.hasPermission(BasicHive.java:188) - 
Subjects[HashKey: 821489378, sortOrder 0 = [EMAIL PROTECTED] has a cached match 
for 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.ProductAreaListPage" "access, render", result true<o:p></o:p>

<o:p> </o:p>

2008-05-13 12:26:35,629 DEBUG 
org.apache.wicket.security.hive.BasicHive.hasPermission(BasicHive.java:188) - 
Subjects[HashKey: 821489378, sortOrder 0 = [EMAIL PROTECTED] has a cached match 
for 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.ProductAreaListPage" "access, render", result true<o:p></o:p>

<o:p> </o:p>

2008-05-13 12:26:35,629 DEBUG 
org.apache.wicket.security.hive.BasicHive.hasPermission(BasicHive.java:221) - 
Subjects[HashKey: 821489378, sortOrder 0 = [EMAIL PROTECTED] does not have or 
implies 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"*xxx.yyy.zzz.front.security.SecureWebMarkupContainer*" "access, 
render"<o:p></o:p>

<o:p> </o:p>

2008-05-13 12:26:37,237 DEBUG 
org.apache.wicket.security.hive.BasicHive.hasPermission(BasicHive.java:188) - 
Subjects[HashKey: 821489378, sortOrder 0 = [EMAIL PROTECTED] has a cached match 
for 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.ProductAreaListPage" "access, render", result true<o:p></o:p>

<o:p> </o:p>

2008-05-13 12:26:37,346 DEBUG 
org.apache.wicket.security.hive.BasicHive.hasPermission(BasicHive.java:188) - 
Subjects[HashKey: 821489378, sortOrder 0 = [EMAIL PROTECTED] has a cached match 
for 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.ProductAreaListPage" "access, render", result true<o:p></o:p>

<o:p> </o:p>

2008-05-13 12:26:37,346 DEBUG 
org.apache.wicket.security.hive.BasicHive.hasPermission(BasicHive.java:188) - 
Subjects[HashKey: 821489378, sortOrder 0 = [EMAIL PROTECTED] has a cached match 
for 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"xxx.yyy.zzz.front.ProductAreaListPage" "access, render", result true<o:p></o:p>

<o:p> </o:p>

2008-05-13 12:26:37,362 DEBUG 
org.apache.wicket.security.hive.BasicHive.hasPermission(BasicHive.java:188) - 
Subjects[HashKey: 821489378, sortOrder 0 = [EMAIL PROTECTED] has a cached match 
for 
org.apache.wicket.security.hive.authorization.permissions.ComponentPermission 
"*xxx.yyy.zzz.front.security.SecureWebMarkupContainer*" "access, render", 
result false<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

ProductAreaListPage.html <o:p></o:p>

<o:p> </o:p>

…<o:p></o:p>

<div wicket:id="resultHiddenPanel"><o:p></o:p>

 <h3 style="margin-top:20pt;">Hidden/Deleted Items</h3><o:p></o:p>

 <span style="font-size:75%"><o:p></o:p>

 <span wicket:id="productAreaHiddenNavigator">[PagingNavigator 
[|&lt;][&lt;]]</span><o:p></o:p>

 Results: <span wicket:id="resultHiddenCountLabel">[Number of 
results]</span><o:p></o:p>

 </span><o:p></o:p>

 <o:p></o:p>

 <table class="list"><o:p></o:p>

 <tr class="list"><o:p></o:p>

 <th>ID</th><o:p></o:p>

 <th>Name</th><o:p></o:p>

 <th>Description</th><o:p></o:p>

 <th>&nbsp;</th><o:p></o:p>

 <th>&nbsp;</th><o:p></o:p>

 </tr><o:p></o:p>

 <tr wicket:id="productAreaHiddenTable" class="list"><o:p></o:p>

 <td><span wicket:id="id">[id]</span></td><o:p></o:p>

 <td><span wicket:id="name">[name]</span></td><o:p></o:p>

 <td><span wicket:id="description">[description]</span></td><o:p></o:p>

 <td><span wicket:id="status">[status]</span></td><o:p></o:p>

 <td><a 
wicket:id="reactivateProductAreaLink">Reactivate&hellip;</a></td><o:p></o:p>

 </tr><o:p></o:p>

 </table><o:p></o:p>

 </div><o:p></o:p>

…<o:p></o:p>

<o:p> </o:p>

ProductAreaListPage.java<o:p></o:p>

<o:p> </o:p>

*public* *class* ProductAreaListPage *extends* SecuredBasePage<o:p></o:p>

{<o:p></o:p>

…<o:p></o:p>

*private* SecureWebMarkupContainer resultHiddenPanel;<o:p></o:p>

<o:p> </o:p>

*public* ProductAreaListPage() {<o:p></o:p>

<o:p> </o:p>

resultHiddenPanel = *new* 
SecureWebMarkupContainer("resultHiddenPanel");<o:p></o:p>

<o:p> </o:p>

//… add DataView, Label,… to resultHiddenPanel<o:p></o:p>

<o:p> </o:p>

add(resultHiddenPanel);<o:p></o:p>

 <o:p></o:p>

}<o:p></o:p>

…<o:p></o:p>

}<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

SecureWebMarkupContainer.java<o:p></o:p>

<o:p> </o:p>

*package* xxx.yyy.zzz.front.security;<o:p></o:p>

<o:p> </o:p>

*public* *class* SecureWebMarkupContainer *extends* WebMarkupContainer 
*implements* ISecureContainer<o:p></o:p>

{<o:p></o:p>

<o:p> </o:p>

 <o:p></o:p>

 *private* *static* *final* *long* /serialVersionUID/ = 1L;<o:p></o:p>

<o:p> </o:p>

 <o:p></o:p>

 *public* SecureWebMarkupContainer(String id)<o:p></o:p>

 {<o:p></o:p>

 *super*(id);<o:p></o:p>

 setSecurityCheck(*new* ContainerSecurityCheck(*this*));<o:p></o:p>

 }<o:p></o:p>

<o:p> </o:p>

 <o:p></o:p>

 *public* SecureWebMarkupContainer(String id, IModel model)<o:p></o:p>

 {<o:p></o:p>

 *super*(id, model);<o:p></o:p>

 setSecurityCheck(*new* ContainerSecurityCheck(*this*));<o:p></o:p>

 }<o:p></o:p>

<o:p> </o:p>

 <o:p></o:p>

 *public* ISecurityCheck getSecurityCheck()<o:p></o:p>

 {<o:p></o:p>

 *return* SecureComponentHelper./getSecurityCheck/(*this*);<o:p></o:p>

 }<o:p></o:p>

<o:p> </o:p>

 <o:p></o:p>

 *public* *boolean* isActionAuthorized(String waspAction)<o:p></o:p>

 {<o:p></o:p>

 *return* SecureComponentHelper./isActionAuthorized/(*this*, 
waspAction);<o:p></o:p>

 }<o:p></o:p>

<o:p> </o:p>

 <o:p></o:p>

 *public* *boolean* isActionAuthorized(WaspAction action)<o:p></o:p>

 {<o:p></o:p>

 *return* SecureComponentHelper./isActionAuthorized/(*this*, action);<o:p></o:p>

 }<o:p></o:p>

<o:p> </o:p>

 <o:p></o:p>

 *public* *boolean* isAuthenticated()<o:p></o:p>

 {<o:p></o:p>

 *return* SecureComponentHelper./isAuthenticated/(*this*);<o:p></o:p>

 }<o:p></o:p>

<o:p> </o:p>

 <o:p></o:p>

 *public* *void* setSecurityCheck(ISecurityCheck check)<o:p></o:p>

 {<o:p></o:p>

 SecureComponentHelper./setSecurityCheck/(*this*, check);<o:p></o:p>

 }<o:p></o:p>

<o:p> </o:p>

}<o:p></o:p>

<o:p> </o:p>

<o:p></o:p>



----

Maurice,

thank's for the quick reply to my first question ! Should I (or could you) 
delete this question from the "Getting started with SWARM" page, as it was the 
wrong place to post the question ?

Thanks
Andrea

 

 


        
Jetzt neu! Schützen Sie Ihren PC mit McAfee und WEB.DE. 30 Tage 
kostenlos testen. *http://www.pc-sicherheit.web.de/startseite/?mc=022220* 
[http://www.pc-sicherheit.web.de/startseite/?mc=022220]

Reply via email to