Andowson Chang

Similar documents
An Introduction to JavaScript & Bootstrap Basic concept used in responsive website development Form Validation Creating templates

The project is conducted individually The objective is to develop your dynamic, database supported, web site:

Lotus Notes Domino 6/ 6.5 Developing Web Applications.

205CDE Developing the Modern Web. Assignment 2 Server Side Scripting. Scenario D: Bookshop

JSN Dona Portfolio User's Guide

CSC4370/6370 Spring/2010 Project 1 Weight: 40% of the final grade for undergraduates, 20% for graduates. Due: May/8th

Master Calendar Integrated Authentication Configuration Instructions. Dean Evans & Associates, Inc.

DevShala Technologies A-51, Sector 64 Noida, Uttar Pradesh PIN Contact us

SQL Deluxe 2.0 User Guide

Web development using PHP & MySQL with HTML5, CSS, JavaScript

Java.. servlets and. murach's TRAINING & REFERENCE 2ND EDITION. Joel Murach Andrea Steelman. IlB MIKE MURACH & ASSOCIATES, INC.

Psydro Extension Documentation V.2.x

Get in Touch Module 1 - Core PHP XHTML

Quick Start Manual for Mechanical TA

AppSpider Enterprise. Getting Started Guide

Alpha College of Engineering and Technology. Question Bank

Table of Contents. Single Sign On 1

Lotus IBM WebShere Portal 6 Deployment and Administration.

Course Syllabus. Course Title. Who should attend? Course Description. PHP ( Level 1 (

USER MANUAL. SuiteCRM Customer Portal for Joomla TABLE OF CONTENTS. Version: 2.0

Using WS_FTP. Step 1 - Open WS_FTP LE and create a Session Profile.

Including Dynamic Images in Your Report

Webthority can provide single sign-on to web applications using one of the following authentication methods:

Design and Implementation of File Sharing Server

Web Application Security. Philippe Bogaerts

Real Application Security Administration

Integrating YuJa Enterprise Video Platform with LDAP / Active Directory

Static Webpage Development

YOU CANNOT 'UPGRADE' INSTALLATIONS FROM PREVIOUS VERSIONS 'IN PLACE'.

Database Username And Current User Schema Do Not Match

DeskAlerts SSO Configuration Guide

SelectSurveyASP Advanced User Manual

Design document for content delivery tool Brahaspati 1

FreeMarker in Spring Web. Marin Kalapać

GroupWise Architecture and Best Practices. WebAccess. Kiran Palagiri Team Lead GroupWise WebAccess

Trusted Login Connector (Hosted SSO)

Programming for the Web with PHP

<Insert Picture Here> WebCenter Interaction Essentials: Advanced Multi-Channel UI Customizations with Adaptive Layouts Session #904

Using an LDAP With ActiveWorkflow

HYPERION SYSTEM 9 BI+ GETTING STARTED GUIDE APPLICATION BUILDER J2EE RELEASE 9.2

In this tutorial you will learn how to:

Portal for ArcGIS. Matthias Schenker, Esri Switzerland

Vendor: IBM. Exam Code: C Exam Name: IBM Security Identity Manager V6.0 Implementation. Version: Demo

VAM. CAS Installer (for 2FA) Value- Added Module (VAM) Deployment Guide

AAI-SSO with Active Directory. Kerberos Login Handler

USER MANUAL. DynamicsPort - Dynamics CRM Customer Portal for WordPress TABLE OF CONTENTS. Version: 1.0

Penetration Testing. James Walden Northern Kentucky University

Full Stack Web Developer

DOTNETNUKE SOLUTIONS H2O

Web Security. Jace Baker, Nick Ramos, Hugo Espiritu, Andrew Le

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016

Web Development Course (PHP-MYSQL-HTML5.0)

IBM LOT-985. Developing IBM Lotus Notes and Domino(R) 8.5 Applications.

CONTENTS IN DETAIL INTRODUCTION 1 THE FAQS OF LIFE THE SCRIPTS EVERY PHP PROGRAMMER WANTS (OR NEEDS) TO KNOW 1 2 CONFIGURING PHP 19

Grapevine web hosting user manual. 12 August 2005

Security Guide. Configuration of Permissions

Mobile Site Development

Bootstrap your APEX authentication & authorisation. a presentation by

Core PHP. PHP output mechanism. Introducing. Language basics. Installing & Configuring PHP. Introducing of PHP keywords. Operators & expressions

Pixelsilk Training Manual 8/25/2011. Pixelsilk Training. Copyright Pixelsilk

Fachgebiet Technische Informatik, Joachim Zumbrägel

Cloud Help for Community Managers...3. Release Notes System Requirements Administering Jive for Office... 6

COPYRIGHTED MATERIAL. Acknowledgments...v Introduction... xxi

Yellowfin SAML Bridge Web Application

CNIT 129S: Securing Web Applications. Ch 4: Mapping the Application

Documentation of Woocommerce Login / Sign up Premium. Installation of Woocommerce Login / Sign up Premium

Requirements Document

Building Block Installation - Admins

GE Transportation Customer Web Center (CWC)

Connect-2-Everything SAML SSO (client documentation)

Chapters 10 & 11 PHP AND MYSQL

Attacks Against Websites. Tom Chothia Computer Security, Lecture 11

Internet Technologies. Lab Introduction

SelectSurvey.NET Developers Manual

Microsoft ADFS Configuration

Enhancing cloud applications by using external authentication services. 2015, 2016 IBM Corporation

Configuration Setting

USER MANUAL. DynamicsPort - Customer Portal for Dynamics CRM TABLE OF CONTENTS. Version: 1.1

ISA 767, Secure Electronic Commerce Xinwen Zhang, George Mason University

AIM. 10 September

How to Configure Authentication and Access Control (AAA)

Lotus IBM Lotus Notes Domino 8 Developing Web Applications. Download Full Version :

8.0 Help for Community Managers Release Notes System Requirements Administering Jive for Office... 6

Oracle Database. Installation and Configuration of Real Application Security Administration (RASADM) Prerequisites

Okta Integration Guide for Web Access Management with F5 BIG-IP

Chapter 2 WEBLOGIC SERVER DOMAINS. SYS-ED/ Computer Education Techniques, Inc.

Defect Details Build #: Roger Martin. Roger Martin

ive JAVA EE C u r r i c u l u m

Authentication for Web Services. Ray Miller Systems Development and Support Computing Services, University of Oxford

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Joomla

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

Sametime Links 3.0 Toolkit

This documentation will go over how to install Sharepoint for configuring with Panopto.

EMS FOR MICROSOFT OUTLOOK Installation Guide

How to Publish Any NetBeans Web App

USER MANUAL. DynamicsPort - Customer Portal for Dynamics CRM TABLE OF CONTENTS. Version: 1.2

Mobile Access Guide Using WhatsUp Gold Mobile Access

Melon, Inc. Melon Components Starter Kit

WatchGuard AP - Remote Code Execution

Web site integration (c#)

Transcription:

Andowson Chang http://www.andowson.com/

All JForum templates are stored in the directory templates, where each subdirectory is a template name, being the default template name callled default. There you will find all HTML files, as well Javascripts, images and CSS files.

Filename header.htm bottom.htm forum_list.htm forum_show.htm post_show.htm forum_login.htm uset_new.htm pm_list.htm post_form.htm search.htm search_result.htm user_profile.htm Description Header for all other templates Footer contents for all other templates Used in forums/list.page Used in forums/show.page used in posts/show.page Used in forums/login.page Used in user/insert.page Used in pm/inbox.page Used in the Post insertion / editing pages Used in search/filters.page The search results page Used in user/profile.page

Note that there are lot more of templates, many of them being referenced by other templates - includes.

JForum uses Freemarker as template engine. This means that you don't need to use any Java / JSP code to create the layouts for JForum. It is interesting to take a good look at the freemarker manual to learn more about it. In the following section you will find a brief overview of the most common used directives, which should be a good start for starters. A Freemarker directive starts with <#, and all variables are enclosed by ${}. Inside a directive, you don't use ${} - for example, to output a varialbe value, you write ${variablename}, but if you want to use variablename in an <#if> statement, you simply do '<#if variablename == "somevalue">'.

To create / change a variable in Freemarker, use the <#assign> directive: 1 <#assign name = "My name"/> 2 <#assign lastname = "Last name"/> 3 <#assign fullname = name + lastname/>

Conditionals in Freemarker are <#if>, <#elseif> and ended by <#/if>. You always have to end an <#if> statement with one </#if> statement. 1 <#if someconditional> 2 code code 3 <#elseif anotherconditional> 4 code code code 5 <#else> 6 more code 7 </#if>

You use the <#list> directive to iterate over any kind of collection - Lists or arrays. 1 <#list collectionname as variablename> 2 ${variablename.someproperty} 3 </#list> where collectionname is any kind of array of java.util.collection, and variablename is the local variable you will use inside the block.

To call any property or method, just use the dot notation. 1 ${aobject.aproperty} 2 ${aobject.somemethod()} 3 ${aobject.anothermethod("arg1", 2, "arg3", somefreemarkervariable)} 4 <#assign result = someobject.mymethod()/ >

JForum provides a simple SSO facility which allows JForum to be easily integrated with existing web applications. SSO has built in support for: using a login cookie authentication frameworks that support the request.getremoteuser() method These can be simply configured via properites in the SystemGlobals.properties file. You can also implement your own SSO class to support your particular situation, which is described with an example. When using SSO the login,logout,register and password retreival options are removed from the JForum menus.

JForum uses an SSO interface which provides two methods, authenticateuser() and issessionvalid(). when a user visits JForum, SSO calls the authenticateuser() method, which simply returns the username or null. if a username is returned JForum will check to see if there is a matching JForum userid. if a matching JForum userid is not found, one is created on the fly. the user is then logged in to JForum. if null was returned the user will be set as 'Anonymous'. if an 'Anonymous' user attempts to access a restricted area on the forum they will be redirected to your login page, with a return path parameter to send the user to the correct forum page once logged in. SSO manages various use case scenarios, such as user changeing id etc, using the issessionvalid() method.

property name Description Default value authentication.type can be default or SSO default sso.implementation sso.password.attribute sso.email.attribute sso.redirect.parameter a class that implements SSO. available classes are CookieUserSSO and RemoteUserSSO the name of the session attribute used for updateing jforum password during auto-registration the name of the session parameter used for updateing jforum email adress the name of the request parameter that contains the url encoded return path for jforum net.jforum.sso.cookieuser SSO password email jforum_redirect

property name Description Default value sso.redirect.message sso.default.email a message to display on your login page used when no session attribute found sso.default.password ditto sso sso.redirect cookie.name.data sso.cookie.path a url that points to a login page the name of a cookie that contains the jforum username the pathname of the cookie. for using when you specify your own cookie name if its not in the root path. please login to use the forum sso@user.com http//mysite.com/login.jsp JforumSSO /

SSO sets the email address in the forum profile to the value of _sso.default.email_ when registering a new user. If you would like to pass your users email address and password you should implement your own SSO class, the approach in the examples can be applied to both forms of SSO.

When you're using SSO to authenticate users on a different datasource (like LDAP), you lost the default "Admin" user of JForum. To fix that, you have to manually associate the user you want to be the Admin to the "Administrators" group, using the table jforum_user_groups. For example, the following set of SQL (MySQL schema) commands fetch a specific user id and associate it to the Administrators group. Please note that the user should try to login first, in order to have his record on the jforum_users table:

mysql> SELECT user_id FROM jforum_users WHERE username = 'username_of_your_admin'; mysql> 5; (suppose it returned 5 here) mysql> SELECT group_id FROM jforum_groups WHERE group_name = 'Administrators'; mysql> 3; (suppose the id of the Administrators group is 3) mysql> INSERT INTO jforum_user_groups (user_id, group_id) VALUES (5, 3);