You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by vt...@apache.org on 2004/06/08 04:46:41 UTC
svn commit: rev 20893 - in incubator/directory/janus/trunk: . core/impl/src/java/org/apache/janus/authentication/realm xdocs
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 <a href="mailto:directory-dev@incubator.apache.org">Apache Directory Project</a>
+ */
+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 <a href="mailto:directory-dev@incubator.apache.org">Apache Directory Project</a>
+ */
+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 @@
<maven:reactor
basedir="${basedir}"
includes="core/*/project.xml,script/project.xml"
- goals=""
- banner="Building sub-project:"
- ignoreFailures="false"/>
- </goal>
-
- <goal name="install-jars"
- description="Installs the sub-projects jars to the local repo.">
-
- <maven:reactor
- basedir="${basedir}"
- includes="core/*/project.xml,script/project.xml"
- goals="jar:install"
+ goals="install:jar"
banner="Building sub-project:"
ignoreFailures="false"/>
</goal>
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 @@
<issueTrackingUrl>http://nagoya.apache.org/jira/secure/BrowseProject.jspa?id=10400</issueTrackingUrl>
<siteAddress>directory.apache.org</siteAddress>
- <siteDirectory>/home/akarasulu/public_html</siteDirectory>
- <distributionDirectory>/home/akarasulu/public_html/dist</distributionDirectory>
-
- <repository>
- <connection/>
- <!--
- scm:svn:http://cvs.apache.org/repos/asf/incubator/directory/janus/trunk
- </connection>
- -->
-
- <url>
- http://cvs.apache.org/viewcvs.cgi/incubator/directory/janus/trunk?root=Apache-SVN
- </url>
-
- <developerConnection>
- http://cvs.apache.org/repos/asf/incubator/directory/janus/trunk
- </developerConnection>
- </repository>
<shortDescription>Janus Authentication, Authorization and Accounting Framework</shortDescription>
@@ -62,75 +44,6 @@
</mailingList>
</mailingLists>
- <developers>
- <developer>
- <name>Alex Karasulu</name>
- <id>akarasulu</id>
- <email>akarasulu at apache.org</email>
- <roles>
- <role>Founder</role>
- <role>Developer</role>
- <role>Architect</role>
- <role>Lead Developer</role>
- </roles>
- </developer>
- <developer>
- <name>Robb Penoyer</name>
- <id>rpenoyer</id>
- <email>rpenoyer at apache.org</email>
- <roles>
- <role>Developer</role>
- </roles>
- </developer>
- <developer>
- <name>Jeff Machols</name>
- <id>jmachols</id>
- <email>jmachols at apache.org</email>
- <roles>
- <role>Developer</role>
- <role>Infrastructure Support</role>
- </roles>
- </developer>
- <developer>
- <name>Wes McKean</name>
- <id>wesmckean</id>
- <email>wesmckean at apache.org</email>
- <roles>
- <role>Developer</role>
- </roles>
- </developer>
- <developer>
- <name>Vincent Tence</name>
- <id>vtence</id>
- <email>vtence at apache.org</email>
- <roles>
- <role>Developer</role>
- </roles>
- </developer>
- <developer>
- <name>Noel Bergman</name>
- <id>noeljb</id>
- <email>noeljb at apache.org</email>
- <roles>
- <role>Mentor</role>
- <role>Advisor</role>
- <role>Sponsor</role>
- </roles>
- </developer>
- <developer>
- <name>Stephen McConnell</name>
- <id>mcconnell</id>
- <email>mcconnell at apache.org</email>
- <roles>
- <role>Mentor</role>
- <role>Sponsor</role>
- <role>Advisor</role>
- </roles>
- </developer>
- </developers>
-
- <contributors/>
-
<licenses>
<license>
<name>Apache 2.0 License</name>
@@ -143,11 +56,6 @@
<dependencies>
<dependency>
- <groupId>mockobjects</groupId>
- <artifactId>mockobjects-core</artifactId>
- <version>0.09</version>
- </dependency>
- <dependency>
<groupId>jmock</groupId>
<artifactId>jmock</artifactId>
<version>1.0.0</version>
@@ -201,20 +109,5 @@
<jars/>
</build>
-
- <reports>
- <report>maven-jdepend-plugin</report>
- <report>maven-changes-plugin</report>
- <report>maven-changelog-plugin</report>
- <report>maven-file-activity-plugin</report>
- <report>maven-developer-activity-plugin</report>
- <report>maven-javadoc-plugin</report>
- <report>maven-jxr-plugin</report>
- <report>maven-junit-report-plugin</report>
- <report>maven-tasklist-plugin</report>
- <report>maven-jellydoc-plugin</report>
- <report>maven-pmd-plugin</report>
- <report>maven-clover-plugin</report>
- </reports>
</project>
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 @@
<body>
<section name="Overview">
- <p>
- Janus is an Authentication, Authorization and Accounting framework for
+ <p>
+ Janus is an effort to develop an Authentication, Authorization and Accounting framework for
building security infrastructures.
- </p>
- <p>
- The Janus sub-project defines the Janus security framework and provides default implementations:
- <ul>
- <li>A XML file based implementation</li>
- <li>A RDMS implementation (work in progress)</li>
- <li>A LDAP implementation (to come)</li>
- </ul>
- </p>
+ </p>
+ <p>
+ 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.
+ </p>
</section>
-
- <section name="Authentication">
- <p>
- 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.
- </p>
+
+ <section name="Goals">
+ <p>
+ 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.
+ </p>
+ <p>
+ 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.
+ </p>
</section>
-
- <section name="Authorization">
- <p>
- 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.
- </p>
- <subsection name="Role-Based Access Control">
- </subsection>
+ <section name="Features">
+ <p>
+ 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:
+ <ul>
+ <li>Plain Java Object framework</li>
+ <li>Core has no dependency</li>
+ <li>IoC friendly (our favorite pattern)</li>
+ <li>Test-Driven developed</li>
+ <li>No coupling with some logging framework you don't want</li>
+ <li>Tested so you don't have to do it</li>
+ <li>Modular design - Use what you need, no more</li>
+ </ul>
+ </p>
+ </section>
- <subsection name="Users and Roles"></subsection>
+ <section name="Roadmap">
+ <p>
+ Janus is already stable enough to build simple application security. Here's what we're currently targetting:
+ <ul>
+ <li>Username/password basic authentication (done)</li>
+ <li>Role based access control (done)</li>
+ <li>XML security realm for use with username/password authentication (done)</li>
+ <li>XML security policy for use with role-based access control (done)</li>
+ <li>Groups of principals (to come)</li>
+ <li>Role hierarchies (to come)</li>
+ <li>RDMS security realm (to come)</li>
+ <li>RDMS security policy (to come)</li>
+ <li>LDAP security realm (to come)</li>
+ <li>LDAP security policy (to come)</li>
+ <li>Dynamic separation of duties (planned)</li>
+ <li>Accounting (planned)</li>
+ </ul>
+ </p>
+ </section>
- <subsection name="Roles and Permissions"></subsection>
+ <section name="Security">
- <subsection name="Traditional Access Control Technologies">
+ <subsection name="Authentication">
+ <p>
+ 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.
+ </p>
</subsection>
- <subsection name="Advantages of Role-Based Access Control"></subsection>
- </section>
+ <subsection name="Authorization">
+ <p>
+ 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.
+ </p>
+<!--
+ <subsection name="Role-Based Access Control">
+ </subsection>
+
+ <subsection name="Users and Roles"></subsection>
+
+ <subsection name="Roles and Permissions"></subsection>
+
+ <subsection name="Traditional Access Control Technologies">
+ </subsection>
- <section name="Accounting">
- <p>
+ <subsection name="Advantages of Role-Based Access Control"></subsection>
+ -->
+ </subsection>
+ <subsection name="Accounting">
+ <p>
Accounting is the concern of collecting resource access/consumption data for the purposes of auditing.
- </p>
+ </p>
+ </subsection>
</section>
-
</body>
</document>