/** * Copyright (c) 2011-2014, OpenIoT * * This file is part of OpenIoT. * * OpenIoT is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, version 3 of the License. * * OpenIoT is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with OpenIoT. If not, see <http://www.gnu.org/licenses/>. * * Contact: OpenIoT mailto: info@openiot.eu * @author Behnaz Bostanipour * @author Timotee Maret */ package org.openiot.gsn.http.ac; import org.openiot.gsn.Main; import org.apache.log4j.Logger; import javax.servlet.ServletException; import javax.servlet.http.*; import java.io.IOException; import java.io.PrintWriter; /** * Created by IntelliJ IDEA. * User: Behnaz Bostanipour * Date: May 15, 2010 * Time: 5:57:34 PM * To change this template use File | Settings | File Templates. */ public class MyAccessRightsManagementServlet extends HttpServlet { private static transient Logger logger= Logger.getLogger( MyAccessRightsManagementServlet.class ); /****************************************** Servlet Methods*******************************************/ /****************************************************************************************************/ public void doGet(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException { res.setContentType("text/html"); PrintWriter out = res.getWriter(); // Get the session HttpSession session = req.getSession(); User user = (User) session.getAttribute("user"); this.checkSessionScheme(req,res); this.printHeader(out); this.printLayoutMastHead(out,user); this.printLayoutContent(out); this.printUserAccountLinks(out); this.printLayoutFooter(out); } public void doPost(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException { this.doGet(req,res); } /****************************************** HTML Printing Methods*******************************************/ /***********************************************************************************************************/ private void printHeader(PrintWriter out) { out.println("<HTML>"); out.println("<HEAD>"); out.println("<TITLE>Access Rights Management</TITLE>"); out.println(" <link rel=\"stylesheet\" media=\"screen\" type=\"text/css\" href=\"/style/acstyle.css\"/>"); out.println("</HEAD>"); out.println("<body>"); out.println("<div id=\"container\">"); out.println("<div class=box>"); } private void printLayoutMastHead(PrintWriter out, User user) { out.println("<div id=\"masthead\">"); out.println("<div class=\"image_float\"><img src=\"/style/gsn-mark.png\" alt=\"GSN logo\" /></div><br>"); out.println("<h1>Access Rights Management</h1>"); out.println("<div class=\"spacer\"></div>"); out.println("</div>"); out.println("<div id=\"mastheadborder\">"); this.printLinks(out,user); this.printUserName(out, user); out.println("<br><br>"); out.println("</div>"); } private void printLayoutContent(PrintWriter out) { out.println("<div id=\"content\">"); } private void printLayoutFooter(PrintWriter out) { out.println("</div>"); out.println("<div id=\"footer\">"); out.println(" <p align=\"center\"><FONT COLOR=\"#000000\"/>Powered by <a class=\"nonedecolink\" href=\"http://globalsn.sourceforge.net/\">GSN</a>, Distributed Information Systems Lab, EPFL 2010</p>"); out.println("</div>");//footer out.println("</div>");//box out.println("</div>");//container out.println("</body>"); out.println("</html>"); } private void printLinks(PrintWriter out, User user) { //out.println("<a class=linkclass href=\"/gsn/MyLoginHandlerServlet\">login</a>"); out.println("<a class=linkclass href=\"/\">GSN home</a>"); if(user!=null) { out.println("<a class=linkclass href=\"/gsn/MyLogoutHandlerServlet\">logout</a>"); } } private void printUserName(PrintWriter out, User user) { //String username=user.getUserName(); if(user !=null) { out.println("<p id=\"login\">logged in as : "+user.getUserName()+"</p>"); } } public void printUserAccountLinks(PrintWriter out) { out.println("<p>Welcome to your access rights management ! you have the following options:</p>"); out.println("<ul class=linklistul >"); out.println("<LI class=linklistli><a href=/gsn/MyUserCandidateRegistrationServlet>New User? Sign Up</a></LI>"); out.println("<LI class=linklistli><a href=\"/gsn/MyUserAccountManagementServlet\">User Account Management</a></LI>"); out.println("<LI class=linklistli><a href=\"/gsn/MyAdminManagementServlet\">Admin Only</a></LI>"); out.println("</ul>"); } /****************************************** Client Session related Methods*******************************************/ /********************************************************************************************************************/ private void checkSessionScheme(HttpServletRequest req, HttpServletResponse res)throws IOException { if(req.getScheme().equals("https")== true) { if((req.getSession().getAttribute("scheme")==null)) { req.getSession().setAttribute("scheme","https"); } } else if(req.getScheme().equals("http")== true ) { if((req.getSession().getAttribute("scheme")==null)) { req.getSession().setAttribute("scheme","http"); } res.sendRedirect("https://"+req.getServerName()+":"+ Main.getContainerConfig().getSSLPort()+"/gsn/MyAccessRightsManagementServlet"); } } }