EJB Security CSCI 5931 Web Security Kartikeya Kakarala Young Ho Choung.

Slides:



Advertisements
Similar presentations
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
Advertisements

Apache Struts Technology
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
Technical Architectures
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
EJB Design. Server-side components Perform –complex algorithms –high volume transactions Run in –highly available environment (365 days/year) –fault tolerant.
Application Server Lecture Paulo Barroso Kris Carver Todd Kitterman Eric Silva.
Copyright W. Howden1 Lecture 19: Intro to O/O Components.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
Layers & Tiers Umair Javed Lec - 41.
1 Build a Web Application on J2EE. 2 J2EE Scenario Client – Web Server – EIS Resources Client – Web Server – EIS Resources Client – Application Server.
J2EE Java2 Enterprise Edition by Damian Borth. Contents Introduction Architectures styles Components Scenarios Roles Processing a HTTP request.
Interpret Application Specifications
Component Based Systems Analysis Introduction. Why Components? t Development alternatives: –In-house software –Standard packages –Components 60% of the.
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
J2EE Security and Enterprise Java Beans Mrunal G. Dhond Department of Computing and Information Sciences Master of Science, Final Defense February 26,
J2EE Kenneth M. Anderson CSCI Web Technologies October 3, 2001.
Version # Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department of Defense © 1999 by Carnegie.
Introduction to EJB INFORMATICS ENGINEERING – UNIVERSITY OF BRAWIJAYA Eriq Muhammad Adams J
Apache Struts Technology A MVC Framework for Java Web Applications.
ADVANCED LINUX SECURITY. Abstract : Using mandatory access control greatly increases the security of an operating system. SELinux, which is an implementation.
Emmanuel Cecchet et al.  Performance Scalability of J2EE application servers.  Test effect of: ◦ Application Implementation Methods ◦ Container Design.
Java Pet Store Application. Outline Introduction Introduction Information Layer Information Layer Application Layer Application Layer Infrastructure Layer.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
1 INTRO TO BUSINESS COMPONENTS FOR JAVA (BC4J) Matt Fierst Computer Resource Team OracleWorld Session
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
1 J2EE Components. 2 Application Servers relieve the programming burden for business distributed components. They provide support for system level services.
Securing Large Applications CSCI 5931 Web Security Rungang Mo, Yingying Sun.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
Chemical Toxicity and Safety Information System Shuanghui Luo Ying Li Jin Xu.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
PRESENTED BY: K2 blackpoint Fundamentals Module 1: Understand J SCOTT PITMAN –
Introduction to J2EE Architecture Portions by Kunal Mehta.
Message-Driven Beans and EJB Security Lesson 4B / Slide 1 of 37 J2EE Server Components Objectives In this lesson, you will learn about: Identify features.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Creating competitive advantage Copyright © 2003 Enterprise Java Beans Presenter: Wickramanayake HMKSK Version:0.1 Last Updated:
Ch 2 – Application Assembly and Deployment COSC 617 Jeff Schmitt September 14, 2006.
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
JSP Tag Libraries Lec Last Lecture Example We incorporated JavaBeans in “Course Outline” Example But still have to write java code inside java.jsp.
Chapter 2 Web app architecture. High-level web app architecture  When a client request coming in and needs servlet to serve dynamic web content, what.
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
Introduction to Enterprise JavaBeans Topics In Systems Architecture Barry Herbold
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
1 Distributed System using J2EE. 2 What is J2EE?  J2EE (Java2 Enterprise Edition) offers a suite of software specification to design, develop, assemble.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
DEVELOPING ENTERPRISE APPLICATIONS USING EJB
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Creating competitive advantage Copyright © 2003 Enterprise Java Beans Presenter: Wickramanayake HMKSK Version:0.1 Last Updated:
EJB Enterprise Java Beans JAVA Enterprise Edition
Securing Web Applications Lesson 4B / Slide 1 of 34 J2EE Web Components Pre-assessment Questions 1. Identify the correct return type returned by the doStartTag()
EJB. Introduction Enterprise Java Beans is a specification for creating server- side scalable, transactional, multi-user secure enterprise-level applications.
Apache Struts Technology A MVC Framework for Java Web Applications.
Introduction to J2EE 1 Introduction to Java 2 Enterprise Edition Presented by Software engineering group Computer science faculty Binus University Welcome!
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
Enterprise Java Beans. Contents  Understanding EJBs  Practice Section.
Chapter 12: Architecture
Introduction to J2EE Architecture
#01 Client/Server Computing
Enterprise Java Bean. Overview of EJB View of EJB Conversation Roles in EJB, Types of Enterprise Beans Lifecycle of Beans Developing Applications using.
J2EE Application Development
Distributed System Using Java 2 Enterprise Edition (J2EE)
Understanding and Designing with EJB
Chapter 12: Physical Architecture Layer Design
Component-based Applications
Component Technology Bina Ramamurthy 2/25/2019 B.Ramamurthy.
Enterprise Java Beans.
Knowledge Byte In this section, you will learn about:
#01 Client/Server Computing
Presentation transcript:

EJB Security CSCI 5931 Web Security Kartikeya Kakarala Young Ho Choung

Contents –Introduction –Traditional Client/Server Architecture –Multi-tier Architecture –EJB Architecture & its Roles –EJB Security model –Method Permissions –Programmatic Security –Conclusions –References

Enterprise Java Beans Introduction Enterprise Java Beans (EJB) is a standard server side component model The EJB architecture logically extends the Java Beans component model to support server components An EJB is a non-visual Java Bean that runs on a server

An EJB is –A collection of Java classes –An XML file –Bundled into a single unit –The Java classes must follow certain rules –The Java classes must provide callback methods Introduction(cont..)

In a traditional client/server application, the client application contains: – presentation logic(windows and control manipulation) –business logic(algorithms and business rules) –data manipulation logic(database connections and SQL Queries) Traditional Client/Server Architecture

Multi-tier Architecture Client applications contain only presentation logic – a thin client Business logic and data access logic are partitioned into separate components and deployed onto one or more servers

EJB Architecture is gaining broad acceptance due to it’s high value benefits that address directly the needs of today's diverse server development community like –Scalability –Simplicity –Ease of development –Security –Interoperability –Component based computing –Application Containers EJB Architecture

EJB Architecture Roles Various EJB Architecture roles handle EJB development and deployment. They are:- –Bean Provider –Application Assembler –Deployer –EJB Service Provider –EJB Container Provider –System Administrator

Bean Provider The Bean Provider –Writes the individual Enterprise Java Beans. –Can be a Business entity or system encapsulated as entity or session beans. –Creates deployment descriptor.

Application Assembler An Application Assembler –Creates a full application from individual beans –May also create JSP’s and servlets that utilize those beans. –Edits the Deployment Descriptors to fit the application.

Deployer A Deployer –Deploys the application into a running EJB Server. –Sets up interaction between architecture as envisioned by the assembler and actual environment in which it runs.

EJB Service Provider & EJB Container Provider The EJB Service Provider & EJB Container Provider Work together to write the EJB Server. –Figure displaying the EJB modelFigure displaying the EJB model

System Administrator The System Administrator –Takes care of the computer systems that run the EJB Server and related services. –Administrates Operating systems and network related to the server.

EJB Security model EJB 1.1 security model is –Role based, and helps to restrict access to beans and their methods based on a client’s role. –It provides an easy way to control who can call which beans and methods and automatically establishes the identity of the caller. –Example of defining roles is an online banking application pg 239,240

Examples of Security Goals –A customer can access only her own account –A trader can only execute transactions that have a value less than one million Swiss francs –A tax inspector is prohibited from modifying her own tax liability data –An underage subscriber does not have access to an X- rated online movie

Method Permissions Access to the beans and their methods can be made limited based on their roles. For this each role must be listed in the deployment descriptor. Method permissions are defined using method permission elements. Each method permission element contains a role- name element and one or more EJBs and their methods,as defined by ejb-name and method-name elements.Sample of the method pg

Programmatic Security Normally Application Assembler and the Deployer configure security in a EJB server. Programmatically sometimes bean provider has to access some security information,for which EJB provides 2 methods –Principal getCallerPrincipal() –Boolean isCallerInRole(String roleName)

First Method getCallerPrincipal() –It returns a Principal object corresponding to the identity of the caller. –It allows the use of the identity of the caller inside the code of the bean. –Example :-If we want a customer to view their own balance but nobody else’s.We could do that by calling the principal of the caller and use that to fetch their account. – pg 242.

Second Method isCallerInRole() –Boolean function returning true if the caller is in the role or returns false –Used usually when simple permissions are not enough. –Example:- if we have a situation where we need to give permission to bankers to only add up to 1000$ to an account at a time and admin be given all rights.This can be done as Pg 243

Security-role-ref Element The Security-role-ref element –It alerts the Application assembler and the Deployer if a particular role has dependency in a bean. – This security role will have no limit on the size of transaction admin –Pg 243

Conclusions EJB Security focus on minimal programmatic and declarative access control mechanisms. This mechanism provides role-based access control for EJB. Access restriction can be successfully obtained using EJB Security model.

References Garms, Jess and Daniel Somerfield. Professional Java Security. Wrox (ISBN: )Professional Java Security. Article on EJB Security by Paul Perrone, jw ejbsecurity.html