1 7 package jfox.test.ejb3.security; 8 9 import java.security.Principal ; 10 import javax.annotation.security.DenyAll; 11 import javax.annotation.security.PermitAll; 12 import javax.annotation.security.RolesAllowed; 13 import javax.annotation.security.RunAs; 14 import javax.annotation.Resource; 15 import javax.ejb.Local ; 16 import javax.ejb.Remote ; 17 import javax.ejb.Stateless ; 18 import javax.ejb.SessionContext ; 19 20 @Stateless (name = "security.CalculatorBean") 21 @Remote 22 @Local 23 @RunAs("role") 24 public class CalculatorBean implements CalculatorRemote, CalculatorLocal { 25 26 @Resource 27 SessionContext ejbContext; 28 29 @PermitAll 30 public int add(int x, int y) { 31 return x + y; 32 } 33 34 @DenyAll 35 public int subtract(int x, int y) { 36 return x - y; 37 } 38 39 @RolesAllowed({"role1,role2"}) 40 public int plus(int x, int y) { 41 return x*y; 42 } 43 44 public double devide(int x, int y) { 45 Principal principal = ejbContext.getCallerPrincipal(); 46 System.out.println("devide caller principal: " + principal); 47 return x/y; 48 } 49 50 } 51 | Popular Tags |