Pagina admin.xthml Session
Last updated
Was this helpful?
Last updated
Was this helpful?
Pagina para administrar las sesiones
Vista
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:jsf="http://xmlns.jcp.org/jsf">
<h:head>
<title>Facelet Title</title>
<meta http-equiv="refresh" content="#{facesContext.externalContext.sessionMaxInactiveInterval};url=#{request.contextPath}/faces/viewExpiredException.xhtml"/>
</h:head>
<f:view>
<h:body>
<h:form id="form" rendered="#{loginController.loggedIn}">
<p:messages autoUpdate="true" id="growl"/>
<p:panel header="Login">
<p:panelGrid columns="2">
<h:outputLabel value="username #{loginController.username}"/>
contextPath: #{request.contextPath}
<p:outputLabel value="MaxInactive Interval #{facesContext.externalContext.sessionMaxInactiveInterval}"/>
</p:panelGrid>
</p:panel>
<p:panel header="Online">
<p:panelGrid columns="5">
<p:commandButton value="Salir" action="#{loginController.doLogout()}"/>
<p:commandButton value="Mensaje Prueba " action="#{sessionController.saludar()}"/>
<p:outputLabel value="Segundos Refresco"/>
<p:outputLabel value="#{sessionController.segundosRefresh}"/>
<p:clock pattern="HH:mm:ss dd.MM.yyyy" mode="server" />
</p:panelGrid>
</p:panel>
<p:panel header="Browser Sessions" >
<p:poll interval="#{sessionController.segundosRefresh}" listener="#{sessionController.showAllSessions()}" update="sessionDataTable" />
<p:dataTable value="#{sessionController.browserSessionsList}"
id="sessionDataTable"
var="item"
selectionMode="single"
widgetVar="browserSessionsTable"
selection="#{sessionController.browserSessionSelecction}"
filteredValue="#{sessionController.browserSessionsFilterList}"
rowKey="#{item.id}"
rows="25" paginator="true" paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="5,10,15"
emptyMessage="No hay registros" reflow="true">
<p:ajax event="rowSelect" update=":form:sesionDetaill" oncomplete="PF('sesionDialog').show()" />
<p:column headerText="id" filterBy="#{item.id}" sortBy="#{item.id}" >
<h:outputText value="#{item.id}" />
</p:column>
<p:column headerText="username" filterBy="#{item.username}" sortBy="#{item.username}" filterMatchMode="contains">
<h:outputText value="#{item.username}" />
</p:column>
<p:column headerText="browser" filterBy="#{item.browser}" sortBy="#{item.browser}" filterMatchMode="contains">
<h:outputText value="#{item.browser}" />
</p:column>
<p:column headerText="ipcliente" filterBy="#{item.ipcliente}" sortBy="#{item.ipcliente}" >
<h:outputText value="#{item.ipcliente}" />
</p:column>
<p:column headerText="token" >
<h:outputText value="#{item.token}" />
</p:column>
<p:column headerText="Expiracion" >
<h:outputText value="#{sessionController.expiracion(item.session)}" >
</h:outputText>
</p:column>
<p:column headerText="Tiempo de conexion" >
<h:outputText value="#{sessionController.timeOfConnection(item.session)}" />
</p:column>
<p:column headerText="maxInactiveInterval" filterBy="#{item.session.maxInactiveInterval}" sortBy="#{item.session.maxInactiveInterval}" >
<h:outputText value="#{item.session.maxInactiveInterval}" />
</p:column>
<p:column headerText="lastConnection" >
<h:outputText value="#{sessionController.lastConnection(item.session)}"/>
</p:column>
<p:column headerText="Time creation" filterBy="#{item.time}" sortBy="#{item.time}" >
<h:outputText value="#{sessionController.timeOfCreation(item.session)}" />
</p:column>
</p:dataTable>
</p:panel>
<p:panel header="Otros">
<p:panelGrid columns="3">
<p:commandButton value="Mostrar Sessiones" action="#{sessionController.showAllSessions()}"
update=":form:growl form:sessionDataTable"/>
<p:commandButton value="Terminar Todas Sesiones" action="#{sessionController.killAllSessions()}"
update=":form:growl form:sessionDataTable"/>
</p:panelGrid>
</p:panel>
<p:dialog header="Session" widgetVar="sesionDialog" width="450" height="450"
modal="true" showEffect="fade" hideEffect="fade" resizable="false" responsive="true">
<p:outputPanel id="sesionDetaill" style="text-align:center;">
<p:panelGrid columns="2" rendered="#{not empty sessionController.browserSessionSelecction}"
layout="grid" styleClass="ui-panelgrid-blank">
<f:facet name="header">
</f:facet>
<h:outputText value="id" style="font-weight: bold"/>
<h:outputText value="#{sessionController.browserSessionSelecction.id}" />
<h:outputText value="username" style="font-weight: bold"/>
<h:outputText value="#{sessionController.browserSessionSelecction.username}" />
<h:outputText value="browser" style="font-weight: bold"/>
<h:outputText value="#{sessionController.browserSessionSelecction.browser}" />
<h:outputText value="ipcliente" style="font-weight: bold"/>
<h:outputText value="#{sessionController.browserSessionSelecction.ipcliente}" />
<h:outputText value="time" style="font-weight: bold"/>
<h:outputText value="#{sessionController.browserSessionSelecction.time}" />
<p:commandButton id="btn" value="Cancelar Sesion" icon="fa fa-edit Fs14 White" style="max-width:150px;"
title="Cancelar"
update=":form:growl form:sessionDataTable"
oncomplete="PF('sesionDialog').hide()"
action="#{sessionController.cancelSelectedSession(sessionController.browserSessionSelecction)}"
/>
</p:panelGrid>
</p:outputPanel>
</p:dialog>
</h:form>
<h:form id="form2" rendered="#{!loginController.loggedIn}">
<p:panel header="Usuario no logeado">
<p:link value="Home" outcome="index"/>
</p:panel>
</h:form>
</h:body>
</f:view>
</html>