Fixes GH PR #148 and PR #308 implementing a GemFire Adapter to support clustered HttpSessions in Spring Session. * Resolve SGF-373 - Implement a Spring Session Adapter for GemFire backing a HttpSession similar to the Redis support. * Add Spring Session annotation to enable GemFire support with @EnableGemFireHttpSession. * Add extesion of SpringHttpSessionConfiguration to configure GemFire using GemFireHttpSessionConfiguration. * Add implementation of SessionRepository to access clustered, replicated HttpSession state in GemFire with GemFireOperationsSessionRepository. * Utilize GemFire Data Serialization framework to both replicate HttpSession state information as well as handle deltas. * Utilize GemFire OQL query to lookup arbitrary Session attributes by name, and in particular the user authenticated principal name. * Implment unit and integration tests, and in particular, tests for both peer-to-peer (p2p) and client/server topologies. * Set initial Spring Data GemFire version to 1.7.2.RELEASE, which depends on Pivotal GemFire 8.1.0. * Add documentation, Javadoc and samples along with additional Integration Tests. Fixes gh-148
49 lines
1.3 KiB
Plaintext
49 lines
1.3 KiB
Plaintext
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<title>Session Attributes</title>
|
|
<link rel="stylesheet" href="assets/bootstrap.min.css">
|
|
<style type="text/css">
|
|
body {
|
|
padding: 1em;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<h1>Description</h1>
|
|
<p>This application demonstrates how to use a GemFire instance to back your session. Notice that there is no JSESSIONID cookie. We are also able to customize the way of identifying what the requested session id is.</p>
|
|
|
|
<h1>Try it</h1>
|
|
|
|
<form class="form-inline" role="form" action="./session" method="post">
|
|
<label for="attributeName">Attribute Name</label>
|
|
<input id="attributeName" type="text" name="attributeName"/>
|
|
<label for="attributeValue">Attribute Value</label>
|
|
<input id="attributeValue" type="text" name="attributeValue"/>
|
|
<input type="submit" value="Set Attribute"/>
|
|
</form>
|
|
|
|
<hr/>
|
|
|
|
<table class="table table-striped">
|
|
<thead>
|
|
<tr>
|
|
<th>Attribute Name</th>
|
|
<th>Attribute Value</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<c:forEach items="${sessionScope}" var="attr">
|
|
<tr>
|
|
<td><c:out value="${attr.key}"/></td>
|
|
<td><c:out value="${attr.value}"/></td>
|
|
</tr>
|
|
</c:forEach>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</body>
|
|
</html>
|