Java by API/javax.annotation.security/RolesAllowed

Материал из Java эксперт
Перейти к: навигация, поиск

javax.annotation.security.RolesAllowed

   <source lang="java">
 

File: Employee.java import javax.persistence.Entity; import javax.persistence.EntityListeners; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.PostRemove; @Entity public class Employee implements java.io.Serializable {

 private int id;
 private String firstName;
 private String lastName;
 @Id
 @GeneratedValue
 public int getId() {
   return id;
 }
 @PostRemove
 public void postRemove()
 {
    System.out.println("@PostRemove");
 }
 public void setId(int id) {
   this.id = id;
 }
 public String getFirstName() {
   return firstName;
 }
 public void setFirstName(String first) {
   this.firstName = first;
 }
 public String getLastName() {
   return lastName;
 }
 public void setLastName(String last) {
   this.lastName = last;
 }

}

File: EmployeeService.java

import javax.annotation.security.RolesAllowed; import javax.ejb.Stateful; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import org.jboss.annotation.security.SecurityDomain; import javax.annotation.security.PermitAll; import javax.annotation.security.RolesAllowed; @Stateful @SecurityDomain("EmployeeServiceDB") @RolesAllowed("AUTHORIZED_MERCHANT") public class EmployeeService implements EmployeeServiceLocal, EmployeeServiceRemote {

 @PersistenceContext(unitName="EmployeeService")
 private EntityManager entityManager;
 public EmployeeService() {
 }
 @PermitAll
 //@RolesAllowed("CHECK_FRAUD_ENABLED")
 public void doAction() throws Exception {
   Employee emp = new Employee();
   emp.setId(1);
   entityManager.merge(emp);
 }

}

File: EmployeeServiceLocal.java

import java.util.Collection; import javax.ejb.Local; @Local public interface EmployeeServiceLocal {

   public void doAction()  throws Exception;

}

File: EmployeeServiceRemote.java


import java.util.Collection; import javax.ejb.Remote; @Remote public interface EmployeeServiceRemote{

 public void doAction()  throws Exception;  

}

File: jndi.properties java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces java.naming.provider.url=localhost:1099

File: Main.java import java.util.Date; import javax.naming.InitialContext;

public class Main {

 public static void main(String[] a) throws Exception {
   EmployeeServiceRemote service = null;
   // Context compEnv = (Context) new InitialContext().lookup("java:comp/env");
   // service = (HelloService)new InitialContext().lookup("java:comp/env/ejb/HelloService");
   service = (EmployeeServiceRemote) new InitialContext().lookup("EmployeeService/remote");
   
   


   service.doAction();
 }

}

File: roles.properties user1=AUTHORIZED_MERCHANT user2=UNAUTHORIZED_MERCHANT

File: users.properties user1=password user2=password



 </source>