See Thread at: http://www.techienuggets.com/Detail?tx=15106 Posted on behalf of 
a User

Seam appears to be expecting an instance of RuleBasedIdentity versus Identity. 
RuleBasedIdentity is an extension of identity that deals with Drools. Extending 
RuleBasedIdentity instead Idendity will make it to work.

Rafa.

In Response To: 

For some reason seam wants an securityRules-setter on my inherited Identity 
component. I can't find any securityRules, any idea why?

this simeple case:


  | @Name("org.jboss.seam.security.identity")
  | @Scope(SESSION)
  | @BypassInterceptors
  | @Install(precedence = APPLICATION)
  | @AutoCreate
  | public class YSIdentity extends Identity {
  | 
  |     private static final long serialVersionUID = -1573888046524276986L;
  |     private UserAccount userAccount;
  |     private ContentProviderAccount contentProviderAccount;
  | 
  |     // We don't care if a user is logged in, just check it...
  |     @Override
  |     public void checkRestriction(String expr) {
  |             if (!evaluateExpression(expr)) {
  |                     
Events.instance().raiseEvent("org.jboss.seam.notAuthorized");
  |                     throw new 
AuthorizationException(String.format("Authorization check failed for expression 
[%s]",
  |                                     expr));
  |             }
  |     }
  | 
  |     @Override
  |     public boolean hasPermission(String name, String action, Object... 
args) {
  | 
  |             userAccount = (UserAccount) 
Component.getInstance("contentProviderAccount");
  |             contentProviderAccount = (ContentProviderAccount) 
Component.getInstance("contentProviderAccount");
  | 
  |             if (args == null || args.length == 0) {
  |                     // All the security checks currently need arguments...
  |                     return false;
  |             }
  | 
  | 
  |             return false;
  |     }
  | 
  | }
  | 
  | 

results in this:


  | ...
  |     at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
  |     at org.jboss.Main.boot(Main.java:200)
  |     at org.jboss.Main$1.run(Main.java:508)
  |     at java.lang.Thread.run(Thread.java:595)
  | Caused by: java.lang.IllegalArgumentException: no such setter method: 
com.yourstardom.middle.support.YSIdentity.securityRules
  |     at org.jboss.seam.util.Reflections.getSetterMethod(Reflections.java:236)
  |     at org.jboss.seam.Component.initInitializers(Component.java:486)
  |     at org.jboss.seam.Component.<init>(Component.java:264)
  |     at org.jboss.seam.Component.<init>(Component.java:217)
  |     at 
org.jboss.seam.init.Initialization.addComponent(Initialization.java:949)
  | ...
  | 






_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to