Here is the proposed outline for the Security section of Volume 1 of the tutorial. Link to Java EE 5 Tutorial: http://java.sun.com/javaee/5/docs/tutorial/doc/ Outline for Volume 2 Security Topics can be found here. Topics for the Java EE Tutorial: Basic Topics in Security (Volume 1) This section (Security) describes the way we want users to develop their applications with Java EE 6, so, for the basic version, we introduce all of the security concepts, but only discuss developing with annotations (using deployment descriptors only when needed to add functionality not available with annotations). Chapter: Introduction to Security in Java EE
- Overview
- A Simple Example
- Security Functions
- Characteristics of Application Security
- Security Implementation Mechanisms
- Java SE Security Implementation Mechanisms
- Java EE Security Implementation Mechanisms
- Securing Containers
- Using Annotations
- Using Programmatic Security
- Using Deployment Descriptors
- Securing the Application Server
- Working with Realms, Users, Groups, and Roles
- What are Realms, Users, Groups, and Roles
- Manager Users and Groups on the Application Server
- Setting up Security Roles
- Mapping Roles to Users and Groups
- Establishing a Secure Connection Using SSL
- Installing and Configuring SSL Support
- Specifying a Secure Connection in Your Application Deployment Descriptor
- Verifying SSL Support
- Working with Digital Certificates
- Enabling Mutual Authentication Over SSL
- Further Information
Chapter: Security Annotations or Working with Security Roles
- @DeclareRoles(role)
- @RolesAllowed("listofroles")
- @PermitAll
- @DenyAll
- @RunAs
Chapter: Securing Web Applications blurb about annotations and a link to Vol 2 for advanced topics and depl. Descr. info
- Overview of Web App Security
- Working with Roles
- Declaring Security Roles
- Specifying Security Roles
- Mapping Security Roles to GlassFish Groups
- Checking Caller Identity Programmatically
- getRemoteUser
- isUserInRole
- getUserPrincipal
- Declaring and Linking Role References
- Declaring Roles
- Defining Security Requirements for a Web App using Annotations
- Refer to Chapter that describes the security-related annotations
- Different types of Web App Authentication
- Basic
- Form
- Login forms
- Digest (new?)
- Client
- mutual
- Specifying a Secure Connection
Chapter: Securing Enterprise Applications Blurb about using annotations and a link to Vol. 2 for more advanced topics.
- Securing Enterprise Beans
-
- Accessing an Enterprise Bean Caller's Security Context
- Using getCallerPrincipal()
- Using isCallerInRole(String roleName)
- Using @DeclareRoles with isCallerInRole(String rolename)
- Permissions and JACC
- Example using these methods
- Declaring Security Roles using @DeclareRoles
- Defining Security Roles using @RolesAllowed
- Specifying Method Permissions using @RolesAllowed, @PermitAll, and @DenyAll
- Propagating a Security Identity using @RunAs
- Deployment Descriptor Elements needed to secure enterprise bean
- Specifying an Authentication Mechanism
- username-password
- others?
- Mapping Security Roles to App Server Groups
- IOR config?
- Securing application clients
- Using JAAS to create login modules
- (javax.security.auth.callback.CallbackHandler)- discuss, link to JAAS docs
- Using Programmatic Login
- (com.sun.appserv.security.ProgrammaticLogin) - discuss, link to AppServer Dev Guide
Chapter: Examples Demonstrating Security
- Securing Web Applications
-
- Define a User Authentication Method in Depl. Descr.
- Define a Transport Guarantee in DD
- Basic Auth with Servlet
- Basic Auth with JAX-WS
- Form Auth with JSP Page
- Digest Auth??
- Mutual Auth (command line only, not NetBeans)
- Securing Enterprise Beans or EJB Endpoints
- Securing an EJB using username-password authentication
- Demonstrate other authentication methods for EJBs?
- Securing an EJB application using the isCallerInRole and getCallerPrincipal Methods
|