| 
 package com.kuaff.ejb3.security; 
  
import javax.naming.InitialContext; 
import javax.naming.NamingException; 
import org.jboss.security.SecurityAssociation; 
import org.jboss.security.SimplePrincipal; 
  
public class Client 
{ 
  
    public static void main(String[] args) 
    { 
        InitialContext ctx; 
        try 
        { 
            ctx = new InitialContext(); 
            Counter counter = (Counter) ctx.lookup(Counter.class.getName()); 
             
            SecurityAssociation.setPrincipal(new SimplePrincipal("smallnest")); 
            System.out.println("使用manager角色访问"); 
            SecurityAssociation.setCredential("asd#$45Gas5".toCharArray()); 
            try 
            { 
                System.out.println("当前的number:" + counter.getNumber()); 
            } 
            catch (SecurityException ex) 
            { 
               System.out.println("安全性异常001"); 
            } 
               
            System.out.println("访问其他角色才能访问的方法"); 
            try 
            { 
                System.out.println("当前的number:" + counter.getValue()); 
            } 
            catch (SecurityException ex) 
            { 
               System.out.println("安全性异常002"); 
            } 
            
        } 
        catch (NamingException e) 
        { 
            e.printStackTrace(); 
        } 
         
    } 
} 
   |