Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Java EE 8 Application Development

You're reading from   Java EE 8 Application Development Develop Enterprise applications using the latest versions of CDI, JAX-RS, JSON-B, JPA, Security, and more

Arrow left icon
Product type Paperback
Published in Dec 2017
Publisher Packt
ISBN-13 9781788293679
Length 372 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
David R. Heffelfinger David R. Heffelfinger
Author Profile Icon David R. Heffelfinger
David R. Heffelfinger
Arrow right icon
View More author details
Toc

Table of Contents (15) Chapters Close

Preface 1. Introduction to Java EE FREE CHAPTER 2. JavaServer Faces 3. Object Relational Mapping with the Java Persistence API 4. Enterprise JavaBeans 5. Contexts and Dependency Injection 6. JSON Processing with JSON-P and JSON-B 7. WebSocket 8. Java Messaging Service 9. Securing Java EE Applications 10. RESTful Web Services with JAX-RS 11. Microservices Development with Java EE 12. Web Services with JAX-WS 13. Servlet Development and Deployment 14. Configuring and Deploying to GlassFish

EJB security


Enterprise JavaBeans allow us to declaratively decide which users can access their methods. For example, some methods might only be available to users in certain roles. A typical scenario is that only users with the administrator role can add, delete, or modify other users in the system.

The following example is a slightly modified version of the DAO session bean we saw earlier in this chapter. In this version, some methods that were previously private are made public. Additionally, the session bean was modified to allow only users in certain roles to access its methods:

package net.ensode.javaeebook; 
 
// imports omitted 
 
@Stateless 
@RolesAllowed("appadmin") 
public class CustomerDaoBean implements CustomerDao 
{ 
  @PersistenceContext 
  private EntityManager entityManager; 
 
  @Resource(name = "jdbc/__CustomerDBPool") 
  private DataSource dataSource; 
 
  public void saveCustomer(Customer customer) 
  { 
    if (customer.getCustomerId() == null) 
    { 
      saveNewCustomer...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime