소스 검색

Remove quick-start, as it has been replaced by more detailed documentation pointers in docs/xdocs. The main issue with quick-start was maintaining it between Acegi Security versions. As it's never executed anywhere, its operation could never be easily tested (especially web.xml for example).

Ben Alex 20 년 전
부모
커밋
861a34092d

+ 0 - 5
samples/quick-start/.cvsignore

@@ -1,5 +0,0 @@
-classes
-dist
-api
-build.properties
-temporary

+ 0 - 51
samples/quick-start/readme.txt

@@ -1,51 +0,0 @@
-===============================================================================
-                             QUICK-START SAMPLE
-===============================================================================
-
-Acegi Security's flexibility can be a bit daunting. Because projects only have
-so much budget, and people only have so much time, often the complexity of
-getting started can seem too high a price to pay. The quick-start sample is
-designed to provide you the basic building blocks needed to be added to your
-existing application.
-
-Quick-start is not executable or deployable. It's just a convenient, simple
-place where you can see what needs to be added to your web application's
-existing files and directories.
-
-What you _will_ need to change in the quick-start configuration:
-
-- It protects a /secure directory from HTTP requests. The /secure directory
-  is included (along with a debug.jsp you might find useful), but can be
-  deleted as soon as you are up and running. You'll need to setup your own
-  URLs to protect in the applicationContext.xml. Search for the 
-  FilterInvocationInterceptor bean.
-
-What you _may_ need to change in the quick-start configuration:
-
-- It uses an in-memory list of users as your authentication repository. This
-  means you edit the XML file to add users, change their roles etc. If you'd
-  prefer to use a database, remove the InMemoryDaoImpl from the 
-  applicationContext.xml, and add in a JdbcDaoImpl bean. For an example of
-  using the JdbcDaoImpl, search the reference guide.
-
-What does this buy you? Not a great deal more than using the Servlet spec
-(although we do support regular expressions and Ant paths for URL matching)!
-Seriously, you can use the Servlet spec to protect URLs, so why bother?
-The quick-start sample provides you the BASE security building blocks for
-your application. Whilst there's nothing wrong with using it instead of the
-Servlet spec security just for the better path support or avoiding the
-multitude of container authentication configurations, most people will use it
-because this foundation allows you to simply tweak configuration if you wish
-to:
-
-- Protect your business beans (search for MethodSecurityInterceptor in docs)
-- Use enterprise-wide single sign on (see CAS section in docs)
-- Use custom authorization voters (see Authorization section in docs)
-- Deploy custom authentication providers (see Authentication section in docs)
-- Perform BASIC authentication (search for BasicProcessingFilter in docs)
-- Automate HTTPS redirection (see Channel Security section in docs)
-
-Good luck! Don't forget we're happy to help. See the end of the docs for
-contact details.
-
-$Id$

+ 0 - 2
samples/quick-start/war-root/WEB-INF/.cvsignore

@@ -1,2 +0,0 @@
-lib
-

+ 0 - 93
samples/quick-start/war-root/WEB-INF/applicationContext.xml

@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
-
-<!--
-  - These entries must be added to your EXISTING applicationContext.xml. 
-  - This applicationContext.xml cannot be used in its current form. It only
-  - contains fragments of a real applicationContext.xml.
-  -
-  - $Id$
-  -->
-
-<beans>
-
-	<!-- =================== SECURITY BEANS YOU SHOULD CHANGE ================== -->
-	
-	<!-- If you replace this bean with say JdbcDaoImpl, just ensure your replacement
-	     has the same bean id (authenticationDao) -->
-	<bean id="authenticationDao" class="net.sf.acegisecurity.providers.dao.memory.InMemoryDaoImpl">
-  		<property name="userMap">
-			<value>
-				marissa=koala,ROLE_TELLER,ROLE_SUPERVISOR
-				dianne=emu,ROLE_TELLER
-				scott=wombat,ROLE_TELLER
-				peter=opal,disabled,ROLE_TELLER
-			</value>
-		</property>
-	</bean>
-
-	<!-- Note the order that entries are placed against the objectDefinitionSource is critical.
-	     The FilterSecurityInterceptor will work from the top of the list down to the FIRST pattern that matches the request URL.
-	     Accordingly, you should place MOST SPECIFIC (ie a/b/c/d.*) expressions first, with LEAST SPECIFIC (ie a/.*) expressions last -->
-	<bean id="filterInvocationInterceptor" class="net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor">
-    	<property name="authenticationManager"><ref local="authenticationManager"/></property>
-    	<property name="accessDecisionManager"><ref local="accessDecisionManager"/></property>
- 		<property name="objectDefinitionSource">
-			<value>
-			    CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
-			    PATTERN_TYPE_APACHE_ANT
-				/secure/**=ROLE_SUPERVISOR
-			</value>
-		</property>
-	</bean>
-
-	<!-- =================== SECURITY BEANS YOU WILL RARELY (IF EVER) CHANGE ================== -->
-	
-	<bean id="daoAuthenticationProvider" class="net.sf.acegisecurity.providers.dao.DaoAuthenticationProvider">
-     	<property name="authenticationDao"><ref local="authenticationDao"/></property>
-     	<property name="userCache"><ref local="userCache"/></property>
-	</bean>
-	
-	<bean id="userCache" class="net.sf.acegisecurity.providers.dao.cache.EhCacheBasedUserCache">
-		<property name="minutesToIdle"><value>5</value></property>
-	</bean>
-
-	<bean id="authenticationManager" class="net.sf.acegisecurity.providers.ProviderManager">
-		<property name="providers">
-		  <list>
-		    <ref local="daoAuthenticationProvider"/>
-		  </list>
-		</property>
-	</bean>
-
-	<bean id="roleVoter" class="net.sf.acegisecurity.vote.RoleVoter"/>
-
-	<bean id="accessDecisionManager" class="net.sf.acegisecurity.vote.AffirmativeBased">
-   		<property name="allowIfAllAbstainDecisions"><value>false</value></property>
-		<property name="decisionVoters">
-		  <list>
-		    <ref local="roleVoter"/>
-		  </list>
-		</property>
-	</bean>
-
-	<bean id="authenticationProcessingFilter" class="net.sf.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
-		<property name="authenticationManager"><ref local="authenticationManager"/></property>
-		<property name="authenticationFailureUrl"><value>/acegilogin.jsp?login_error=1</value></property>
-		<property name="defaultTargetUrl"><value>/</value></property>
-		<property name="filterProcessesUrl"><value>/j_acegi_security_check</value></property>
-	</bean>
-
-	<bean id="securityEnforcementFilter" class="net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter">
-		<property name="filterSecurityInterceptor"><ref local="filterInvocationInterceptor"/></property>
-		<property name="authenticationEntryPoint"><ref local="authenticationProcessingFilterEntryPoint"/></property>
-	</bean>
-
-	<bean id="authenticationProcessingFilterEntryPoint" class="net.sf.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint">
-		<property name="loginFormUrl"><value>/acegilogin.jsp</value></property>
-		<property name="forceHttps"><value>false</value></property>
-	</bean>
-
-	<bean id="autoIntegrationFilter" class="net.sf.acegisecurity.ui.AutoIntegrationFilter" />
-
-</beans>

+ 0 - 15
samples/quick-start/war-root/WEB-INF/lib/acegi-security.jar.txt

@@ -1,15 +0,0 @@
-You'll need to copy acegi-security.jar into your WEB-INF/lib directory.
-You can find the JAR in the /dist directory of any ZIP distribution.
-
-Acegi-security.jar requires the following JARs in WEB-INF/lib:
-
-commons-logging.jar
-commons-codec.jar
-commons-collections.jar
-jakarta-oro.jar
-spring.jar
-
-Most of the above JARs are included with Spring. Those that are not are
-definitely included in the Acegi Security "with dependencies" release ZIP.
-
-$Id$

+ 0 - 60
samples/quick-start/war-root/WEB-INF/web.xml

@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'>
-
-<!--
-  - These entries must be added to your EXISTING web.xml. This web.xml
-  - cannot be used in its current form. It only contains fragments of a real
-  - web.xml.
-  -
-  - $Id$
-  -->
-
-<web-app>
-
-	<!-- It is assumed you are already using Spring's ContextLoaderListener -->
-	
-	<!-- Do not forget to remove any existing Servlet spec security directives from your current web.xml -->
-
-	<filter>
-        <filter-name>Acegi Authentication Processing Filter</filter-name>
-        <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
-        <init-param>
-            <param-name>targetClass</param-name>
-            <param-value>net.sf.acegisecurity.ui.webapp.AuthenticationProcessingFilter</param-value>
-        </init-param>
-    </filter>
-
-    <filter>
-        <filter-name>Acegi Security System for Spring Auto Integration Filter</filter-name>
-        <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
-        <init-param>
-            <param-name>targetClass</param-name>
-            <param-value>net.sf.acegisecurity.ui.AutoIntegrationFilter</param-value>
-        </init-param>
-    </filter>
-
-    <filter>
-        <filter-name>Acegi HTTP Request Security Filter</filter-name>
-        <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
-        <init-param>
-            <param-name>targetClass</param-name>
-            <param-value>net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter</param-value>
-        </init-param>
-    </filter>
-	
-    <filter-mapping>
-      <filter-name>Acegi Authentication Processing Filter</filter-name>
-      <url-pattern>/*</url-pattern>
-    </filter-mapping>
-
-    <filter-mapping>
-      <filter-name>Acegi Security System for Spring Auto Integration Filter</filter-name>
-      <url-pattern>/*</url-pattern>
-    </filter-mapping>
-    
-    <filter-mapping>
-      <filter-name>Acegi HTTP Request Security Filter</filter-name>
-      <url-pattern>/*</url-pattern>
-    </filter-mapping>
-
-</web-app>

+ 0 - 42
samples/quick-start/war-root/acegilogin.jsp

@@ -1,42 +0,0 @@
-<%@ taglib prefix='c' uri='http://java.sun.com/jstl/core' %>
-<%@ page import="net.sf.acegisecurity.ui.AbstractProcessingFilter" %>
-<%@ page import="net.sf.acegisecurity.AuthenticationException" %>
-
-<html>
-  <head>
-    <title>Login</title>
-  </head>
-
-  <body>
-    <h1>Login</h1>
-
-	<P>If you've used the standardInMemoryDaoImpl config, try these users:
-	<P>
-	<P>username <b>marissa</b>, password <b>koala</b> (granted ROLE_SUPERVISOR)
-	<P>username <b>dianne</b>, password <b>emu</b> (not a supervisor)
-	<p>username <b>scott</b>, password <b>wombat</b> (not a supervisor)
-	<p>
-	
-    <%-- this form-login-page form is also used as the 
-         form-error-page to ask for a login again.
-         --%>
-    <c:if test="${not empty param.login_error}">
-      <font color="red">
-        Your login attempt was not successful, try again.<BR><BR>
-        Reason: <%= ((AuthenticationException) session.getAttribute(AbstractProcessingFilter.ACEGI_SECURITY_LAST_EXCEPTION_KEY)).getMessage() %>
-      </font>
-    </c:if>
-
-    <form action="<c:url value='j_acegi_security_check'/>" method="POST">
-      <table>
-        <tr><td>User:</td><td><input type='text' name='j_username'></td></tr>
-        <tr><td>Password:</td><td><input type='password' name='j_password'></td></tr>
-
-        <tr><td colspan='2'><input name="submit" type="submit"></td></tr>
-        <tr><td colspan='2'><input name="reset" type="reset"></td></tr>
-      </table>
-
-    </form>
-
-  </body>
-</html>

+ 0 - 3
samples/quick-start/war-root/logoff.jsp

@@ -1,3 +0,0 @@
-<%session.invalidate();
-response.sendRedirect("index.jsp");
-%>

+ 0 - 47
samples/quick-start/war-root/secure/debug.jsp

@@ -1,47 +0,0 @@
-<%@ page import="net.sf.acegisecurity.context.Context" %>
-<%@ page import="net.sf.acegisecurity.context.ContextHolder" %>
-<%@ page import="net.sf.acegisecurity.context.SecureContext" %>
-<%@ page import="net.sf.acegisecurity.Authentication" %>
-<%@ page import="net.sf.acegisecurity.GrantedAuthority" %>
-<%@ page import="net.sf.acegisecurity.adapters.AuthByAdapter" %>
-
-<% Context context = ContextHolder.getContext();
-if (context != null) { %>
-	Context on ContextHolder is of type: <%= context.getClass().getName() %><BR><BR>
-	
-<%	if (context instanceof SecureContext) { %>
-		The Context implements SecureContext.<BR><BR>
-<%		SecureContext sc = (SecureContext) context;
-		
-		Authentication auth = sc.getAuthentication();
-		if (auth != null) { %>
-			Authentication object is of type: <%= auth.getClass().getName() %><BR><BR>
-			Authentication object as a String: <%= auth.toString() %><BR><BR>
-			
-			Authentication object holds the following granted authorities:<BR><BR>
-<%			GrantedAuthority[] granted = auth.getAuthorities();
-			for (int i = 0; i < granted.length; i++) { %>
-				<%= granted[i].toString() %> (getAuthority(): <%= granted[i].getAuthority() %>)<BR>
-<%			}
-
-			if (auth instanceof AuthByAdapter) { %>
-				<BR><B>SUCCESS! Your container adapter appears to be properly configured!</B><BR><BR>
-<%			} else { %>
-				<BR><B>SUCCESS! Your web filter appears to be properly configured!</B><BR>
-<%			}
-			
-		} else { %>
-			Authentication object is null.<BR>
-			This is an error and your container adapter will not operate properly until corrected.<BR><BR>
-<%		}
-	} else { %>
-		<B>ContextHolder does not contain a SecureContext.</B><BR>
-		This is an error and your container adapter will not operate properly until corrected.<BR><BR>
-<%	}
-} else { %>
-	<B>ContextHolder on ContextHolder is null.</B><BR>
-	This indicates improper setup of the container adapter. Refer to the reference documentation.<BR>
-	Also ensure the correct subclass of AbstractMvcIntegrationInterceptor is being used for your container.<BR>
-<%}
-%>
-