tree: de9682dd4c9d0019e3edfb16155010cd23d03887 [path history] [tgz]
  1. src/
  2. pom.xml
  3. README.MD
examples/https-server-glassfish/README.MD

HTTPS Server Example - GlassFish

This example demonstrates how to develop secure RESTful “Hello world” web service with a Servlet 2.5 container.

Contents

The example consists of just one Java class:

org.glassfish.jersey.examples.https.glassfish.resources.HelloWorldResource

A resource class that produces a textual response to an HTTP GET request.

The mapping of the URI path space is presented in the following table:

URI pathResource classHTTP methods
/helloworldHelloWorldResourceGET

Running the Example

Run the example as follows:

Create war package

mvn clean package

Setup GlassFish 4.0 (installed at AS_HOME=<install_dir>/glassfish4):

Add new security realm called “myRealm

  • Start GlassFish using asadmin $AS_HOME/bin/asadmin start-domain
  • Access Admin console, assuming the use of default admin port, at http://localhost:4848
  • Navigate in Admin console to: Configurations -> server-config -> Security -> Realms, click on “New...
  • Create user and set password for user myUser (click on “myRealm” -> “Manage Users” -> “New...”);
    • EnsureUser ID:” set to “myUserandGroup List:” set to “Users
    • Enter password myPass in “New Password:” and “Confirm New Password:” text fields
  • Add one other user name joeUser (click on “myRealm” -> “Manage Users” -> “New...”);
    • EnsureUser ID:” set to “joeUserandGroup List:” set to “Users
    • Enter password joePass in “New Password:” and “Confirm New Password:” text fields

Check web.xml and sun-web.xml to understand how role mappings are configured. This blog is also helpful in helping to clarify role mappings. Deploy https-server-glassfish.war as a Web Application

  • Admin console: select Applications, click on “Deploy...”. Select file ./target/https-server-glassfish.war
  • or you can use command line: $AS_HOME/bin/asadmin deploy ./target/https-server-glassfish.war

From a web browser, visit:

  • https://localhost:8181/https-server-glassfish-webapp/helloworld
  • Enter either Username myUser and Password myPass or, Username joeUser and Password joePass
  • If entered Username myUser and Password myPass, verify that expected output: Sending "Hello World" to user "myUser" was displayed
  • If entered Username joeUser and Password joePass, verify that expected output: Sending "Hello World" to user "joeUser" was displayed

Running the Negative Example

Run the example as follows:

  1. Create war package

    mvn clean package
    
  2. setup GlassFish 4.0 (installed at AS_HOME=<install_dir>/glassfish4):

    • Follow the steps described in the “setup GlassFish 3.1” section from the previous chapter “Running the Example” but instead of adding the user “joeUser” to the “Group List:” of “Users” set “Group List:” for this user to “OtherUsers
  3. From a web browser, visit: