Return-Path: Delivered-To: apmail-incubator-directory-cvs-archive@www.apache.org Received: (qmail 55497 invoked from network); 8 Jun 2004 02:46:57 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 8 Jun 2004 02:46:57 -0000 Received: (qmail 60598 invoked by uid 500); 8 Jun 2004 02:47:05 -0000 Delivered-To: apmail-incubator-directory-cvs-archive@incubator.apache.org Received: (qmail 60548 invoked by uid 500); 8 Jun 2004 02:47:05 -0000 Mailing-List: contact directory-cvs-help@incubator.apache.org; run by ezmlm Precedence: bulk Reply-To: directory-dev@incubator.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list directory-cvs@incubator.apache.org Received: (qmail 60532 invoked by uid 99); 8 Jun 2004 02:47:05 -0000 Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.27.1) with SMTP; Mon, 07 Jun 2004 19:47:04 -0700 Received: (qmail 55422 invoked by uid 65534); 8 Jun 2004 02:46:41 -0000 Date: 8 Jun 2004 02:46:41 -0000 Message-ID: <20040608024641.55416.qmail@minotaur.apache.org> From: vtence@apache.org To: directory-cvs@incubator.apache.org Subject: svn commit: rev 20893 - in incubator/directory/janus/trunk: . core/impl/src/java/org/apache/janus/authentication/realm xdocs X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Author: vtence Date: Mon Jun 7 19:46:41 2004 New Revision: 20893 Added: incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/EqualMatcher.java incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernameCredentialMatcher.java Removed: incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/EqualCredentials.java Modified: incubator/directory/janus/trunk/maven.xml incubator/directory/janus/trunk/project.xml incubator/directory/janus/trunk/xdocs/index.xml Log: fixed last commit Added: incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/EqualMatcher.java ============================================================================== --- (empty file) +++ incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/EqualMatcher.java Mon Jun 7 19:46:41 2004 @@ -0,0 +1,37 @@ +/* + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.janus.authentication.realm; + +import org.apache.janus.authentication.CredentialSet; + +/** + * @author Apache Directory Project + */ +public class EqualMatcher implements CredentialsMatcher +{ + private final CredentialSet m_toMatch; + + public EqualMatcher( CredentialSet credentials ) + { + m_toMatch = credentials; + } + + public boolean matches( CredentialSet creds ) + { + return m_toMatch.equals( creds ); + } +} Added: incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernameCredentialMatcher.java ============================================================================== --- (empty file) +++ incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernameCredentialMatcher.java Mon Jun 7 19:46:41 2004 @@ -0,0 +1,39 @@ +/* + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.janus.authentication.realm; + +import org.apache.janus.authentication.Credential; +import org.apache.janus.authentication.CredentialSet; + +/** + * @author Apache Directory Project + */ +public class UsernameCredentialMatcher implements CredentialsMatcher +{ + private final Credential m_username; + + public UsernameCredentialMatcher( Credential username ) + { + m_username = username; + } + + public boolean matches( CredentialSet creds ) + { + Credential username = creds.getCredential( UsernamePasswordAuthentication.USERNAME ); + return username.equals( m_username ); + } +} Modified: incubator/directory/janus/trunk/maven.xml ============================================================================== --- incubator/directory/janus/trunk/maven.xml (original) +++ incubator/directory/janus/trunk/maven.xml Mon Jun 7 19:46:41 2004 @@ -20,18 +20,7 @@ - - - - - Modified: incubator/directory/janus/trunk/project.xml ============================================================================== --- incubator/directory/janus/trunk/project.xml (original) +++ incubator/directory/janus/trunk/project.xml Mon Jun 7 19:46:41 2004 @@ -19,24 +19,6 @@ http://nagoya.apache.org/jira/secure/BrowseProject.jspa?id=10400 directory.apache.org - /home/akarasulu/public_html - /home/akarasulu/public_html/dist - - - - - - - http://cvs.apache.org/viewcvs.cgi/incubator/directory/janus/trunk?root=Apache-SVN - - - - http://cvs.apache.org/repos/asf/incubator/directory/janus/trunk - - Janus Authentication, Authorization and Accounting Framework @@ -62,75 +44,6 @@ - - - Alex Karasulu - akarasulu - akarasulu at apache.org - - Founder - Developer - Architect - Lead Developer - - - - Robb Penoyer - rpenoyer - rpenoyer at apache.org - - Developer - - - - Jeff Machols - jmachols - jmachols at apache.org - - Developer - Infrastructure Support - - - - Wes McKean - wesmckean - wesmckean at apache.org - - Developer - - - - Vincent Tence - vtence - vtence at apache.org - - Developer - - - - Noel Bergman - noeljb - noeljb at apache.org - - Mentor - Advisor - Sponsor - - - - Stephen McConnell - mcconnell - mcconnell at apache.org - - Mentor - Sponsor - Advisor - - - - - - Apache 2.0 License @@ -143,11 +56,6 @@ - mockobjects - mockobjects-core - 0.09 - - jmock jmock 1.0.0 @@ -201,20 +109,5 @@ - - - maven-jdepend-plugin - maven-changes-plugin - maven-changelog-plugin - maven-file-activity-plugin - maven-developer-activity-plugin - maven-javadoc-plugin - maven-jxr-plugin - maven-junit-report-plugin - maven-tasklist-plugin - maven-jellydoc-plugin - maven-pmd-plugin - maven-clover-plugin - Modified: incubator/directory/janus/trunk/xdocs/index.xml ============================================================================== --- incubator/directory/janus/trunk/xdocs/index.xml (original) +++ incubator/directory/janus/trunk/xdocs/index.xml Mon Jun 7 19:46:41 2004 @@ -7,53 +7,110 @@
-

- Janus is an Authentication, Authorization and Accounting framework for +

+ Janus is an effort to develop an Authentication, Authorization and Accounting framework for building security infrastructures. -

-

- The Janus sub-project defines the Janus security framework and provides default implementations: -

    -
  • A XML file based implementation
  • -
  • A RDMS implementation (work in progress)
  • -
  • A LDAP implementation (to come)
  • -
-

+

+

+ Security is a broad and complex domain, which refers to ways of protecting sensitive + resources from unauthorized access. This is usually done with a combination of authentication + - to prove an individual's identity -, and authorization - to grant or deny an operation on a resource. + Most security measures also involves some form of cryptography: secure digests to preserve data integrity, + data encryption mechanisms to protect data + access from individuals without proper authorization and digital signatures to prove authenticity of some sort. +

- -
-

- Authentication is about finding out if someone is who he/she claims to - be. This is done by presenting some proof of identity, which usually can - take the form of username/password, digital signature, etc. -

+ +
+

+ Janus is an attempt to provide a framework for developing complex security infrastructures. + It addresses the Authentication, Authorization and Accounting concerns of secure applications or systems. +

+

+ Janus tries to define proper abstractions for security concepts to be a generic and flexible security framework + on top of which complex secure applications can be built. It does not deal with cryptography mechanisms, + since cryptography is a mean of attaining security goals. Yet, since Janus has been thought to be flexible, + it is easy to plug-in your own implementations of Janus abstractions to use cryptography for instance. +

- -
-

- Authorization is about, once a user has been identified, determining if - hs/she is authorized to do something. A successful authorization results in the user - being granted the permission to perform an operation on a resource. -

- - +
+

+ The Janus sub-project defines the Janus security framework and provides default implementations of authentication, + authorization and accounting components. + + We believe Janus has some unique features that set it apart from existing solutions: +

    +
  • Plain Java Object framework
  • +
  • Core has no dependency
  • +
  • IoC friendly (our favorite pattern)
  • +
  • Test-Driven developed
  • +
  • No coupling with some logging framework you don't want
  • +
  • Tested so you don't have to do it
  • +
  • Modular design - Use what you need, no more
  • +
+

+
- +
+

+ Janus is already stable enough to build simple application security. Here's what we're currently targetting: +

    +
  • Username/password basic authentication (done)
  • +
  • Role based access control (done)
  • +
  • XML security realm for use with username/password authentication (done)
  • +
  • XML security policy for use with role-based access control (done)
  • +
  • Groups of principals (to come)
  • +
  • Role hierarchies (to come)
  • +
  • RDMS security realm (to come)
  • +
  • RDMS security policy (to come)
  • +
  • LDAP security realm (to come)
  • +
  • LDAP security policy (to come)
  • +
  • Dynamic separation of duties (planned)
  • +
  • Accounting (planned)
  • +
+

+
- +
- + +

+ Authentication is the process of validating an individual's identity. It's about finding out + if an individual is who he/she claims to be. + + This is done by presenting some proof of identity, which usually can take the form of username/password, + digital signature, etc. The idea is that each individual can be recognized by unique information that + differentiates him or her from other individuals. +

- -
+ +

+ Authorization is about, once a user has been authenticated, determining if + hs/she is authorized to do something. A successful authorization results in the user + being granted the permission to perform an operation on a resource. A failed authorization will + result in the denial of the same permission. +

+ +
+ +

Accounting is the concern of collecting resource access/consumption data for the purposes of auditing. -

+

+
-