signup-app
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Web application to administrate signup requests
# Readme

## Goal

The application should process sign-up request, received as a plain form POST
http request. The requestor will be notified by a confirmation email. The
confirmation is send with a http GET

  * form http POST request

  * url http GET request

Those requests are approved or denied by the administrator

## Prerequisite

1. Oracle JDK 6

    Download the latest JDK 6 from [Oralce](http://www.oracle.com). Install it into your system, set the *JAVA_HOME* variable and add *JAVA_HOME/bin* to path.

2. Apache Maven 3.0.x

    Download the Apache Maven from [Apache.org](http://www.apache.org). Extract the files to your local disk, set the *M2_HOME* variable and add *M2_HOME/bin* to path.

    Open your terminal, type `mvn -version` and press ENTER, you should see the following similar information.
        
        Apache Maven 3.0.4 (r1232337; 2012-01-17 16:44:56+0800)
        Maven home: D:\build\maven
        Java version: 1.6.0_30, vendor: Sun Microsystems Inc.
        Java home: D:\jdk6\jre
        Default locale: zh_CN, platform encoding: GBK
        OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"


3. Eclipse 3.7 and JBoss Tools

    Download eclipse JEE bundle from [Eclipse.org](http://www.eclipse.org), and extract zip into your local disk. Start up Eclipse and follow these step to install JBoss Tools.

    1. Open EclipseMarket Dialog.
    2. Input "Jboss" in the search field.
    3. Click the "Install" to install JBoss Tools.
    4. Restart Eclipse according to the installation prompt.


4. (Optional) NetBeans 7.1

    If you select NetBeans as your preferred IDE, you can download the latest NetBeans IDE from [NetBeans.org](http://www.netbeans.org), the Java EE version is recommended. The installation progress is very simple, just click the next button following the the installing wizard.
  	
5. JBoss 7.0.2 Final
  
    Download the latest JBoss 7.0.2.Final from [JBoss.org](http://www.jboss.org), and extract the files into your local disk. You can set JBOSS_HOME variable, the location is the JBoss folder.

    You can register the JBoss server in your IDE. Eclipse user can open the "Server" view, right click the white space in the view, select "New ..." in the context menu, and follows the steps to create a JBoss server instance. If You are using NetBeans, click "Service" window, right click the white space and select "New", follow the wizard to register a JBoss server. 


## Project Setup 

### Import codes into Eclipse workspace

  If you have installed the JBoss tools, the M2eclipse(maven for eclipse plugin) should be installed. Follow these steps to import the exising codes into your Eclipse workspace.
 
  1. Click *"File"-> "Import"* from Eclipse main menu, open the import dialog.
  2. Select "Existing Maven project" under the maven node.
  3. Select the location of the project root folder.

  If you are the first time to use Maven in your system, it will resolve and download the missing dependencies of this project. This maybe take several minutes, please keep patience.

  NetBeans user can open the project directly like the general NetBeans project.

### Configuration for JAAS security.

There are two roles in the application, *ROLE_AMINISTRATOR* can approve and deny signup request, *ROLE_VIEWER* can view the pages.
	
The */admin* path is protected by default, use *BASIC* based authentication, please refer the configuration in *web.xml*
file under the *WEB-INF* folder.

There are several approaches for storing the autentication info, UsersRoles used properties file and Database used database, others you can refer the JBoss AS documentation.

* Configuration using UsersRoles login-module code.

	1. Create a security domain in JBoss configuration file(*${JBOSS_HOME}/standlone/configuration/standalone.xml*).
		
          Find *<subsystem xmlns="urn:jboss:domain:security:1.0">* tag, change 'other' security-domain to the following configuration.

               
	                
	                    
	                         
	                            
	                            
	                        
	                    
	 		
	        		
	      
	
         Create users.properties and roles.properties in the project src/main/resources, when the project is packaged, they will be included in the classpath.
		
	2. Specify the security domain in *jboss-web.xml*.
	
	 `	other`
	
	   There is a post I asked a question for this in the JBoss forum will help this topic.
	
	  [http://community.jboss.org/message/643007#643007](http://community.jboss.org/message/643007#643007)
	
* Configuration using Database login-module code.


	
	The User/Roles related data are stored in the database, this can be configured in the JBoss AS easily. Follow the following steps to configure.
	
	1. Create database *signup*(I used mysql), and grant all privileges to *signupuser/signuppass* .
	2. Create a datasource in *${JBOSS_HOME}/standlone/configuration/standalone.xml* .
	 	
           Find *<subsystem xmlns="urn:jboss:domain:datasources:1.0">* tag, add a new datasource.
	 
                   
	                    
	                        jdbc:mysql://localhost:3306/signup
	                    
	                    
	                        com.mysql.jdbc.Driver
	                    
	                    
	                        mysql-connector-java.jar
	                    
	                    
	                        
	                            20
	                        
	                        
	                            100
	                        
	                        
	                            false
	                        
	                        
	                            false
	                        
	                        
	                            FailingConnectionOnly
	                        
	                    
	                    
	                        
	                            signupuser
	                        
	                        
	                            signuppass
	                        
	                    
	         
                    	 
	
	3. Create security configuration.
	 	
           Find *<subsystem xmlns="urn:jboss:domain:security:1.0">* tag, add the following configuration.

                   
	                
	                    
	                        
	                    
	                
	                
	                    
	                        
	                            
	                            
	                            
	                        
	                    
	                
	            
                    	            
	  
      All the configuration here is for JBoss 7 AS, Glassfish provide more friendly administration console.         

### Upgrade the weld runtime in JBoss AS.

   **This is a must for the latest Inifinispan 5.1.0.FINAL**.

   Download the latest weld distribution archive from [Seamframework.org](http://www.seamframework.org), and unzip the archive into your local disk. Copy the *artifacts/weld/weld-core.jar* from the uncompressed folder to the JBoss modules folder *modules/org/jboss/weld/core/main*, rename it to *weld-core.1.1.5.Final.jar* , edit the *module.xml* file in the same folder and find the weld version, and update to the latest version.  	

### Run Project 
 
 You can deploy the application into JBoss AS from IDE or command line.

 1. Deploy from Eclipse IDE.

      1. Right Click the Project Node.

      2. Select "Run as"->"Server", and choose the Jboss AS you have registered and configured.

      3. Open your favorite browser, navigate http://localhost:8080/signup.

      If you are using NetBeans, right click the Project node, select Run in the context menu, and choose the JBoss server you registered.
    

 2. Deploy from command line.
 
      The pom.xml included a JBoss As maven plugin configuration, open command console and switch to path of the project root folder. run `mvn clean package jboss-as:deploy` in the command window, it will clean the project folder, compile and package a fresh war archive and deploy it into the runing JBoss AS.





            
 	

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。