anchor.diff:  			// get the rapid application security
   			SecurityAdapter securityAdapter = rapid.getSecurityAdapter();
   			
  -			// check the user password in the rapid application
  -			if (securityAdapter.checkUserPassword(rapidRequest, rapidRequest.getUserName(), rapidRequest.getUserPassword())) {
  +			// check the user is not public and then the password in the rapid application
  +			if (!"public".equalsIgnoreCase(userName) && securityAdapter.checkUserPassword(rapidRequest, rapidRequest.getUserName(), rapidRequest.getUserPassword())) {
   		
   				// check for any of the offical roles
   				if (securityAdapter.checkUserRole(rapidRequest, com.rapid.server.Rapid.ADMIN_ROLE) || securityAdapter.checkUserRole(rapidRequest, com.rapid.server.Rapid.DESIGN_ROLE) || securityAdapter.checkUserRole(rapidRequest, com.rapid.server.Rapid.USERS_ROLE) || securityAdapter.checkUserRole(rapidRequest, com.rapid.server.Rapid.SUPER_ROLE)) {
  
positive.code: 
  /*
  
  Copyright (C) 2020 - Gareth Edwards / Rapid Information Systems
  
  gareth.edwards@rapid-is.co.uk
  
  
negative.code: 			<span style="">Rapid</span>
  		</div>
  		<div class="subBar">
  			<span class="link requiresOnline"><a href="logout.jsp">LOG OUT</a></span>
  <%			// public users should not be able to change the password 		
  			if (!"public".equalsIgnoreCase(userName) && com.rapid.security.SecurityAdapter.hasPasswordUpdate(getServletContext())) {
  %>			<span class="link requiresOnline"><a href="update.jsp">CHANGE PASSWORD</a></span>
  <%			} 
  %>			<span class="versionColumn"><%=com.rapid.server.Rapid.VERSION %></span>
  		</div>
  
  		<div class="body">
  