+ All Categories
Home > Technology > Oracle ADF Architecture TV - Design - Designing for Security

Oracle ADF Architecture TV - Design - Designing for Security

Date post: 11-Nov-2014
Category:
Upload: chris-muir
View: 223 times
Download: 4 times
Share this document with a friend
Description:
Slides from Oracle's ADF Architecture TV series covering the Design phase of ADF projects, covering how to design your ADF applications for security. Like to know more? Check out: - Subscribe to the YouTube channel - http://bit.ly/adftvsub - Design Playlist - http://www.youtube.com/playlist?list=PLJz3HAsCPVaSemIjFk4lfokNynzp5Euet - Read the episode index on the ADF Architecture Square - http://bit.ly/adfarchsquare
Popular Tags:
63
1 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Transcript
Page 1: Oracle ADF Architecture TV - Design - Designing for Security

1 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Page 2: Oracle ADF Architecture TV - Design - Designing for Security

2 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Real World ADF Design & Architecture Principles Designing for Security

ORACLE PRODUCT

LOGO

Page 3: Oracle ADF Architecture TV - Design - Designing for Security

3 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Learning Objectives

•  At the end of this module you should be able to:

–  Identify security risks and how to mitigate risks – Understand common security design patterns – Understand the risk of multi channel access to your

application data – Know about ADF Security and what it is good for –  Think out of the box when protecting your ADF applications

Image: imagerymajestic/ FreeDigitalPhotos.net

Page 4: Oracle ADF Architecture TV - Design - Designing for Security

4 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

“Security is the degree of protection against danger, damage, loss, and crime."

Wikipedia http://en.wikipedia.org/wiki/Security

Page 5: Oracle ADF Architecture TV - Design - Designing for Security

5 Copyright © 2011, Oracle and/or its affiliates. All rights reserved. 5 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

We have a budget for security, but what security should we buy for our ADF application?

Maybe a firewall will do for a start.

Exercise

Image: imagerymajestic/ FreeDigitalPhotos.net

Page 6: Oracle ADF Architecture TV - Design - Designing for Security

6 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Program Agenda

•  Application Security Risks •  Security Principles & Pattern •  Handling Data Entry •  ADF Security •  Single Sign-On •  Securing ADF Applications

Page 7: Oracle ADF Architecture TV - Design - Designing for Security

7 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

OWASP Top Ten List of Security Vulnerabilities

Image: OWASP / CC3.0

Page 8: Oracle ADF Architecture TV - Design - Designing for Security

8 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

OWASP Top Ten List of Security Vulnerabilities

•  SQL Injection –  Free input text or URL parameter values an application passes to the

database unfiltered

•  Broken authentication and session management –  Predictable tokens that identify a user session or privilege (license key)

•  Cross-Site Scripting (XSS) –  The user input of custom

JavaScript that executes in the context of a web application

Image: jscreationzs/ FreeDigitalPhotos.net

Page 9: Oracle ADF Architecture TV - Design - Designing for Security

9 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

OWASP Top Ten List of Security Vulnerabilities

•  Insecure direct object referenced –  e.g.: file references to user specific reports. If

file names can be predicted then anyone can download the file and see its content.

•  Cross-Site Request Forgery (CSRF) –  Cookie information or hidden field information that is used by applications

to identify a user session –  Sites that intercept or redirect a request (phishing) can make use of this

information, replaying the initial request

Image: jscreationzs/ FreeDigitalPhotos.net

Page 10: Oracle ADF Architecture TV - Design - Designing for Security

10 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

OWASP Top Ten List of Security Vulnerabilities •  Security misconfiguration

–  Configuration settings that weaken security enforcement –  Risk area: Moving applications from development to production

•  Insecure cryptographic storage –  Sensitive data that is saved in the user session, on

the server or the local client with weak encryption or not encrypted at all

•  Failure to restrict URL access –  Direct URL access to resources may bypass

authorization and break business logic

Image: jscreationzs/ FreeDigitalPhotos.net

Page 11: Oracle ADF Architecture TV - Design - Designing for Security

11 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

OWASP

•  Failed Transport Layer Protection –  Failing to ensure messages are not

changed on transit and that the server a message is sent to indeed is the server who should receive the request

•  Unvalidated redirects and forwards –  Tampered redirect information added to

return URL parameters

Top Ten List of Security Vulnerabilities

Image: jscreationzs/ FreeDigitalPhotos.net

Page 12: Oracle ADF Architecture TV - Design - Designing for Security

12 Copyright © 2011, Oracle and/or its affiliates. All rights reserved. 12 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

What is the best protection against all of these?

Image: imagerymajestic/ FreeDigitalPhotos.net

Page 13: Oracle ADF Architecture TV - Design - Designing for Security

13 Copyright © 2011, Oracle and/or its affiliates. All rights reserved. 13 Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Image: Ambro+ imagerymajestic/ FreeDigitalPhotos.net

What is the best protection against all of these?

Education, security standards, code writing and review

guidelines

Page 14: Oracle ADF Architecture TV - Design - Designing for Security

14 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

“We believe that […] programmers want to write good software. They surely don’t set out with the intention of putting security flaws in their code. Furthermore, because it’s possible for a program to satisfy a stringent functional specification and nevertheless bring a vulnerability to life, many (if not most) such flaws have been coded up by people who do their best and are satisfied with (even rewarded for) the result.."

Secure Coding: Principles and Practices

Mark G. Graff; Kenneth R. van Wyk

Page 15: Oracle ADF Architecture TV - Design - Designing for Security

15 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Security Dependencies

•  Performance Impact –  Fine grain security checks –  Https overhead –  Message encryption

•  Usability –  Periodical re-authentication –  Complex password rules –  Frequent password renewals –  Access restrictions

•  Business hours •  Point of access Max.

Performance Max.

Usability

Max. Security

Page 16: Oracle ADF Architecture TV - Design - Designing for Security

16 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Program Agenda

•  Application Security Risks •  Security Principles & Pattern •  Handling Data Entry •  ADF Security •  Single Sign-On •  Securing ADF Applications

Page 17: Oracle ADF Architecture TV - Design - Designing for Security

17 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Security Principles

•  Identify security threats –  Flooding, fire, earthquake, SQL exploits, identity fraud or theft, hackers,

denial of service …

•  Define other security requirements for the application –  Corporate requirements

•  e.g. single sign-on, shared identity management system, auditing, centralized security administration, data protection …

–  Application requirements •  e.g. enforce valid user input, ensure users only have access to what they are

allowed to access, ensure authenticated users …

•  Define security coding and review standards

Security By Design

Page 18: Oracle ADF Architecture TV - Design - Designing for Security

18 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Consider Security by Design

Page 19: Oracle ADF Architecture TV - Design - Designing for Security

19 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Security Design Patterns

•  Defense in depth •  Least privileged access •  Single access point •  Check point •  Roles •  Full view with errors •  Limited view •  Session

Page 20: Oracle ADF Architecture TV - Design - Designing for Security

20 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Web Authentication

•  Identifies a user by something he/she knows (secret) or owns (certificate)

•  Usually handled by the Java EE container accessing a configured identity store

•  Database schema authentication not a recommended model for Java EE applications –  Doesn't scale well –  The web is stateless and in no way compares to desktop applications

•  Authenticated user is exposed through security context to be accessible throughout an application

Page 21: Oracle ADF Architecture TV - Design - Designing for Security

21 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Program Agenda

•  Application Security Risks •  Security Principles & Pattern •  Handling Data Entry •  ADF Security •  Single Sign-On •  Securing ADF Applications

Page 22: Oracle ADF Architecture TV - Design - Designing for Security

22 Copyright © 2011, Oracle and/or its affiliates. All rights reserved. 22 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

What are the different channels that users can use to input data to our system?

Image: imagerymajestic/ FreeDigitalPhotos.net

Exercise

Page 23: Oracle ADF Architecture TV - Design - Designing for Security

23 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Data Entry

•  Users input •  Service interface

–  Web Service –  SOA Service –  PL/SQL

•  Java interface •  Request Parameters •  Cookies

The List of Data Entry You Cannot Trust

Page 24: Oracle ADF Architecture TV - Design - Designing for Security

24 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

“Love all, trust a few."

- William Shakespeare

Page 25: Oracle ADF Architecture TV - Design - Designing for Security

25 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Validate All Data Entry

•  Data Format Pattern –  Ensures data entry matches a specific format –  Example: social security number, credit card, license key

•  Numeric / Character –  Ensures correct data types to be entered

•  Dependent Value –  Compares entered data with value of a related field –  Example: start date < end date

Page 26: Oracle ADF Architecture TV - Design - Designing for Security

26 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Find And Fix The Weakest Link

•  The best locks on your front door don't help if the windows are left wide open

•  Protect assets, not applications! •  A tale about a failed SQL injection

prevention attempt …

Page 27: Oracle ADF Architecture TV - Design - Designing for Security

27 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Program Agenda

•  Application Security Risks •  Security Principles & Pattern •  Handling Data Entry •  ADF Security •  Single Sign-On •  Securing ADF Applications

Page 28: Oracle ADF Architecture TV - Design - Designing for Security

28 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Protecting ADF Applications View / Controller

Responsibility

How ?

•  Authentication •  Page Authorization •  Field Authorization •  Identity Propagation •  Input Validation

•  Container Managed Authentication •  Validators

Binding

Responsibility

How ?

ADF

•  Page Security • Task Flow Security

•  J2EE Authentication •  JAAS Authorization •  Validators

Business Service

Responsibility

How ?

•  Business method authorization •  Identity propagation •  CRUD authorization •  Input Validation

•  JAAS •  JEE authorization context •  Validation rules

Database

Responsibility

How ?

•  DML authorization •  Read authorization •  PLSQL authorization

•  VPD •  Database Proxy •  Sys_context

Page 29: Oracle ADF Architecture TV - Design - Designing for Security

29 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Oracle Platform Security Service (OPSS)

•  Standards-based, portable, integrated, enterprise-grade Oracle security framework for Java SE and Java EE applications

•  Provides security to Oracle Fusion Middleware including WebLogic Server, Server Oriented Architecture (SOA) applications, Oracle WebCenter, Oracle ADF applications, and Oracle Entitlement Server

•  Designed to be portable to third-party application servers •  Provides an abstraction layer that insulate developers from security and

identity management implementation details •  Decreases application development, administration, and maintenance costs •  Does a better job than security available in the Java and Java EE standard

Page 30: Oracle ADF Architecture TV - Design - Designing for Security

30 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

ADF & OPSS Architecture Overview

LDAP/DB Servers

AuthN AuthZ

WebLogic Server ADF Application

CSF

File Based

OPSS API (JAAS Integration)

ADFSecurity Context

Java EE Application Deployment

Page 31: Oracle ADF Architecture TV - Design - Designing for Security

31 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

ADF Security

•  Authentication handled by Java EE Container •  Authorization automatically enforced on

–  Bounded task flows –  Pages in unbounded task flows

•  Views in bounded task flows are protected through task flow security •  Fine grain view protection in bounded task flows can be declaratively

defined using nested bounded task flows –  ADF Business Components entities and attributes

•  Authorization is based on JAAS permissions •  Authorization policies are declaratively defined

Framework Features

Page 32: Oracle ADF Architecture TV - Design - Designing for Security

32 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

ADF Security

•  Security Expression Language –  #{securityContext.authenticated} –  #{securityContext.userName} –  #{securityContext.userInRole['roleList']} –  #{securityContext.userInAllRoles['roleList']} –  #{securityContext.taskflowViewable['target']} –  #{securityContext.regionViewable['target']} –  #{securityContext.userGrantedResource['permission']} –  #{securityContext.userGrantedPermission['permission']}

•  Security Java API

Programmatic Features

Page 33: Oracle ADF Architecture TV - Design - Designing for Security

33 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

ADF Security

•  Create custom Permissions based on the OPSS Resource Permission –  Use for Menu security, UI component security

•  Declaratively define view permissions for pages in bounded task flows –  Authorization needs to be enforced by your program code using EL or Java

•  ADF Security Groovy access from ADF Business Components –  Query view objects based on the authenticated user

Programmatic Features

Page 34: Oracle ADF Architecture TV - Design - Designing for Security

34 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

OPSS and ADF Security Vocabulary

•  User –  Individual user identities defined in your identity management system

•  Enterprise Roles –  Enterprise user groups defined in your identity management system for use

across application boundaries

•  Application Roles –  ADF application specific roles that provide an abstraction layer for enterprise user

groups –  Permissions are granted to application roles

You Must Get This Right!

Page 35: Oracle ADF Architecture TV - Design - Designing for Security

35 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

OPSS architecture for WLS Design-Time

web.xml

adf-config.xml

Oracle JDeveloper - Designtime

jazn-data.xml

weblogic.xml

Users

Groups

Roles

Permissions

Authentication servlet

Page 36: Oracle ADF Architecture TV - Design - Designing for Security

36 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

OPSS architecture for WLS Runtime (Production)

Oracle WebLogic Server (OPSS) - Runtime

Users

Enterprise Roles App

licat

ion

Rol

es

system-jazn-data.xml

Gra

nts

Per

mis

sion

Target

Permission class

Actions

Identity Store OID

OVD

LDAP

Active Directory

Enterprise Groups

Enterprise Users

Credential Store RDBMS

LoginModule

Page 37: Oracle ADF Architecture TV - Design - Designing for Security

37 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

What You Should Know

•  Grant permissions to application roles only –  Easier to administrate –  No dependency to identity management system

•  Security administrator should use Oracle Enterprise Manager Fusion Middleware Control to map application roles to enterprise roles (aka. enterprise groups) –  Post deployment

•  ADF applications can be configured to "override" or "merge with" existing policies

ADF Security Authorization Best Practices

Page 38: Oracle ADF Architecture TV - Design - Designing for Security

38 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

What You Should Know

•  Though the framework doesn't enforce authorization on views contained in bounded task flows, it doesn't mean you can't do it –  Create region permission for view in bounded task flow –  Enforce permission using security EL or Java

ADF Security Authorization Best Practices

Page 39: Oracle ADF Architecture TV - Design - Designing for Security

39 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

What You Should Know

•  All permissions and application roles must be copied to the master (aka. "top level" or "super web") application –  ADF library may contain jazn-data.xml file, which however is not

enforced at runtime –  ADF regions added through ADF libraries must have their security grants

defined in the master application.

•  Security Permissions are automatically deployed to Web Logic Server system-jazn-data.xml file when deploying the application EAR file

Security Deployment

Page 40: Oracle ADF Architecture TV - Design - Designing for Security

40 Copyright © 2011, Oracle and/or its affiliates. All rights reserved. 40 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

So ADF Security is “The Solution”

Image: imagerymajestic/ FreeDigitalPhotos.net

Page 41: Oracle ADF Architecture TV - Design - Designing for Security

41 Copyright © 2011, Oracle and/or its affiliates. All rights reserved. 41 Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Image: Amrbo+imagerymajestic/ FreeDigitalPhotos.net

So ADF Security is “The Solution”

No, it is just a tool in ADF that you use to implement security.

Page 42: Oracle ADF Architecture TV - Design - Designing for Security

42 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Program Agenda

•  Application Security Risks •  Security Principles & Pattern •  Handling Data Entry •  ADF Security •  Single Sign-On •  Securing ADF Applications

Page 43: Oracle ADF Architecture TV - Design - Designing for Security

43 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Single Sign-On In Oracle ADF Architecture Pillar Architecture

Fine Grained

Two for One Deal

Multi-Access Channel

Pillar

Cylinder

One time authentication for all buildings

One time authentication for all pillars

Page 44: Oracle ADF Architecture TV - Design - Designing for Security

44 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Single Sign-On Best Practices

•  Implementing your own single sign-on solution for Oracle ADF applications is a proven path to failure –  Failure to keep authenticated user session state

(OTN forum reports) –  Performance problems coded into your applications –  Insecure token and credential sharing

•  ADF Security works well with Oracle Access Managed (OAM) for single sign-on –  Works across FMW product boundaries including SOA, WebCenter, Oracle Forms

•  Kerberos is an alternative Windows based SSO solution –  Kerberos/SPNEGO and Oracle WebLogic Server

Page 45: Oracle ADF Architecture TV - Design - Designing for Security

45 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Oracle ADF Without Single Sign-On

adf_domain  

Secured ADF Application

Oracle  Internet  Directory  

WLS Authentication Provider

1

2

3

4

Page 46: Oracle ADF Architecture TV - Design - Designing for Security

46 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Oracle ADF Single Sign-On With OAM

adf_domain  Oracle  HTTP  Server  

OAM  Web  Gate  

Secured ADF Application

1

2

Oracle  Internet  Directory  

Page 47: Oracle ADF Architecture TV - Design - Designing for Security

47 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Oracle ADF With Single Sign-On Using OAM

adf_domain   idm_domain  Oracle  HTTP  Server  

OAM  Web  Gate  

Secured ADF Application Oracle  Internet  

Directory  

Oracle Access Manager

1

2

Page 48: Oracle ADF Architecture TV - Design - Designing for Security

48 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Oracle ADF With Single Sign-On Using OAM

adf_domain   idm_domain  Oracle  HTTP  Server  

OAM  Web  Gate  

Secured ADF Application

Oracle Access Manager

OAM Session

OAM_ID

1

2

Oracle  Internet  Directory  

Page 49: Oracle ADF Architecture TV - Design - Designing for Security

49 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Oracle ADF With Single Sign-On Using OAM

adf_domain   idm_domain  Oracle  HTTP  Server  

OAM  Web  Gate  

OAMAuthnCookie

Secured ADF Application

Oracle Access Manager

OAM Session

OAM_ID

1

3

2

Oracle  Internet  Directory  

Page 50: Oracle ADF Architecture TV - Design - Designing for Security

50 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Program Agenda

•  Application Security Risks •  Security Principles & Pattern •  Handling Data Entry •  ADF Security •  Single Sign-On •  Securing ADF Applications

Page 51: Oracle ADF Architecture TV - Design - Designing for Security

51 Copyright © 2011, Oracle and/or its affiliates. All rights reserved. 51 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Ok, ADF Security is on my list. What else?

Image: imagerymajestic/ FreeDigitalPhotos.net

Exercise

Page 52: Oracle ADF Architecture TV - Design - Designing for Security

52 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

ADF Business Components

•  Define ADF Security permissions for entities and entity attributes –  Permissions are enforced by ADF framework –  In addition, hide control like delete buttons if a user is not allowed to

delete an entity using security EL

•  Avoid dynamically built SQL statements, and use view objects and view criteria with named bind variables.

•  Validate input variables, before issuing executeQuery, on the view object

Page 53: Oracle ADF Architecture TV - Design - Designing for Security

53 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

ADF Controller

•  Navigate using control flows and avoid navigation through redirects •  Configure exception handler activities in all bounded task flows •  Protect task flow access using ADF Security

–  Framework enforces user authorization –  In addition, hide navigation UI control using security EL if a user is not

allowed to access a task flow

•  Ensure task flows that use JSF documents are not accessible from browsers –  Enforce single point of access for your application

Page 54: Oracle ADF Architecture TV - Design - Designing for Security

54 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

ADF Binding Layer

•  Use the "viewable" property on bindings to check user permission using security EL –  If viewable is determined to false, associated UI component will render

read only

•  Configure a custom error handler in DataBindings.cpx to control information displayed to users –  Distinguish between authorized personnel and users when displaying

and logging error messages

Page 55: Oracle ADF Architecture TV - Design - Designing for Security

55 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

ADF View

•  Hide all UI components users are not supposed to see or use – Use Security EL on the "rendered" property

•  Look for ways to simplify security configuration by grouping protected components

What about the "display" property?

Image: imagerymajestic/ FreeDigitalPhotos.net

Page 56: Oracle ADF Architecture TV - Design - Designing for Security

56 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Input Validation

•  ADF View –  Validator / Converter

• Components • Managed bean

–  Value change event handlers –  Client side scripts

•  ADF Binding –  Binding element validator

Page 57: Oracle ADF Architecture TV - Design - Designing for Security

57 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Input Validation

•  ADF Business Components –  Entity validation

•  Across attribute validation like dependent field validation –  Entity attribute validation

•  Validates individual attribute values –  Transaction Level

•  Entity setting to defer validation to before commit

Page 58: Oracle ADF Architecture TV - Design - Designing for Security

58 Copyright © 2011, Oracle and/or its affiliates. All rights reserved. 58 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

You there – tall guy, blue shirt, sitting in the back. What else?

Image: imagerymajestic/ FreeDigitalPhotos.net

Exercise

Page 59: Oracle ADF Architecture TV - Design - Designing for Security

59 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Think Out Of The Box!

Page 60: Oracle ADF Architecture TV - Design - Designing for Security

60 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Some Ideas •  Servlet filter •  Phase listeners •  Component validators •  Bind variables •  Custom Resource Permissions & Security EL or Java •  Move page documents into /public_html/WEB-INF •  Managed beans, View- and EntityImpl •  MDS customization classes •  RDBMS security (label security, triggers ...)

Page 61: Oracle ADF Architecture TV - Design - Designing for Security

61 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Conclusion •  Become aware of what your business is afraid of what

you want to protect within your application •  Security must be implemented on all application

layers •  Permission should be granted to roles and never to

users directly •  ADF Security is a tool that makes it easier to enforce

authentication and authorization in ADF applications. However, it is not all you need.

•  Application security requires you to be creative and think out-of the box. Not all tools you can use for security have the name "security" in them

Page 62: Oracle ADF Architecture TV - Design - Designing for Security

62 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Further Reading

•  Security for Everyone – Oracle Magazine article –  http://www.oracle.com/technetwork/issue-archive/2012/12-jan/o12adf-1364748.html

•  ADF Security documentation –  Oracle JDeveloper and ADF Documentation Library –  Fusion Developer Guide

•  "Enabling ADF Security in a Fusion Web Application"

•  ADF Insider Recordings –  ADF Security overview

•  http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/AdfSecurity/AdfSecurity.html

–  Security Deployment •  http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/adf_security1/adf_security1.html •  http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/adf_security2/adf_security2.html

–  Single Sign-on •  http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/adf_oam_integration/adf_oam_integration.html

Page 63: Oracle ADF Architecture TV - Design - Designing for Security

63 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.


Recommended