Simple Authentication and Authorization
To create an application that is about to be operated on a server often requires
a mechanism to separate authorized from unauthorized access. From an
application perspective on one hand a simple "if user has role xy, do
this" mechanism is required while on the other hand the application
should not need to implement the logic behind that approach.
The SAM framework
The Light Development Simple Access Model (SAM) is a framework
that implements exactly that simple approach. It models user authentication
and authorization against a backing user data store.
Independent user data store interface
The framework views a user data store as an interface. This way any user
data store such as a database or a collection of XML files etc.
can be used. Default implementations of a JDBC and an XML user data store
are included in the library.
Simpler than JAAS
JAAS, the Java Authentication and Authorization Service requires
to understand concepts such as Subject, Principal, Client and LoginContext,
Configuration File, Provider, Java Policy File and JAAS Policy File, etc.
making the world much more complicated than the original "if user has
role xy, do this" approach of SAM.
For its simplicity it is not as powerful as JAAS as well. However, many
applications do not require the full monty of JAAS and thus developers
do not need to learn and implement all JAAS details with SAM.
|
Download here
You can download the release package from below links.
|
Downloads and resources
|
|
|
release package
classes, sources and API docs as consistent release package (182 KB)
|
|
|
read API docs online
API documentation in Javadoc format for online reading
|
Product independent
SAM does not rely on a product such as Tomcat or BEA Weblogic to implement an
authentication as specified by HTTP or J2EE (BASIC/DIGEST or FORM/CLIENT-CERT).
SAM implements an own authentication that an application can use independent
from other products.
Platform independent
Being implemented in 100% pure Java technology the framework can be used on
virtually any platform such as Unix, Linux, Solaris, Mac or Windows.
Requirements
To use the source codes in the package for own solutions a Java Software Development Kit (SDK)
is required. The latest Java SDK can be obtained free of charge at
http://java.sun.com
In addition SAM requires the
Light Development XML Package
in the classpath.
|