Commit 643097ef by Tuomas Riihimäki

Streamien legacypassutuki

1 parent 8300be38
......@@ -104,13 +104,13 @@ public class BortalLoginModule extends AppservPasswordLoginModule {
throw new LoginException(
(new StringBuilder())
.append("An InvalidOperationException was thrown "
+ " while calling getGroupNames() on the SampleRealm ")
).append(" while calling getGroupNames() on the SampleRealm ")
.append(invalidoperationexception).toString());
} catch (NoSuchUserException nosuchuserexception) {
throw new LoginException(
(new StringBuilder())
.append("A NoSuchUserException was thrown "
+ " while calling getGroupNames() on the SampleRealm ")
).append(" while calling getGroupNames() on the SampleRealm ")
.append(nosuchuserexception).toString());
}
ArrayList<String> authenticatedGroups = new ArrayList<String>();
......
......@@ -25,9 +25,7 @@ import fi.insomnia.bortal.util.MailMessage;
*
*/
@MessageDriven(
activationConfig = { @ActivationConfigProperty(
propertyName = "destinationType", propertyValue = "javax.jms.Queue"
) },
activationConfig = { @ActivationConfigProperty( propertyName = "destinationType", propertyValue = "javax.jms.Queue" ) },
mappedName = "jms/mailque")
public class MailMessageBean implements MessageListener {
@Resource(name = "mail/lanbortal")
......
......@@ -23,7 +23,6 @@ import fi.insomnia.bortal.enums.Permission;
import fi.insomnia.bortal.enums.RolePermission;
import fi.insomnia.bortal.exceptions.PermissionDeniedException;
import fi.insomnia.bortal.facade.GroupMembershipFacade;
import fi.insomnia.bortal.facade.PlaceGroupFacade;
import fi.insomnia.bortal.facade.UserFacade;
import fi.insomnia.bortal.facade.UserImageFacade;
import fi.insomnia.bortal.model.GroupMembership;
......@@ -33,7 +32,6 @@ import fi.insomnia.bortal.model.RoleRight;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.UserImage;
import fi.insomnia.bortal.util.MailMessage;
import fi.insomnia.bortal.utilities.BeanContextHolder;
import fi.insomnia.bortal.utilities.BortalLocalContextHolder;
import fi.insomnia.bortal.utilities.I18n;
......
package fi.insomnia.bortal.model;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
......@@ -26,6 +25,7 @@ public class GenericEntity implements ModelInterface {
@Column(name = "id", nullable = false)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Version
@Column(nullable = false)
private int jpaVersionField = 0;
......
package fi.insomnia.bortal.utilities;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Random;
......@@ -11,6 +12,8 @@ import fi.insomnia.bortal.utilities.apachecodec.binary.Base64;
public class PasswordFunctions {
private static final String SSHA_PREFIX = "{SSHA}";
private static final Logger logger = LoggerFactory
.getLogger(PasswordFunctions.class);
......@@ -22,7 +25,7 @@ public class PasswordFunctions {
random.nextBytes(salt);
String base64Str = shaWithSaltToBase64(password, salt);
String ssha = "{SSHA}" + base64Str;
String ssha = SSHA_PREFIX + base64Str;
return ssha;
}
......@@ -30,18 +33,21 @@ public class PasswordFunctions {
MessageDigest algo = null;
try {
algo = MessageDigest.getInstance("SHA");
} catch (NoSuchAlgorithmException e) {
logger.error("WTF!! digest function not found!!", e);
return null;
}
byte[] prehash = concatBytearrays(password.getBytes(), salt);
byte[] hashed = algo.digest(prehash);
byte[] both = concatBytearrays(hashed, salt);
String base64Str = new String(Base64.encodeBase64(both));
String base64Str = new String(Base64.encodeBase64(both), "UTF-8");
logger.debug("Encoded {} to {}", both, base64Str);
return base64Str;
} catch (NoSuchAlgorithmException e) {
logger.error("WTF!! digest function not found!!", e);
} catch (UnsupportedEncodingException e) {
logger.error("WTF! charset UTF-8 Not found!", e);
}
return null;
}
public static byte[] concatBytearrays(byte[]... arrays) {
......@@ -60,8 +66,17 @@ public class PasswordFunctions {
public static boolean checkPlainPassword(String plainPassword,
String saltedPassword) {
if (saltedPassword == null || plainPassword == null) {
logger.info("Got null password at passwordCheck");
return false;
}
String oldBase64 = saltedPassword.substring("{SSHA}".length());
// TODO: Stream passwordhack Remove when not used anymore!
if (!saltedPassword.startsWith(SSHA_PREFIX)) {
return StreampartyLegacyPwdcheck.streampartyOldAlgoMatch(plainPassword, saltedPassword);
}
String oldBase64 = saltedPassword.substring(SSHA_PREFIX.length());
byte[] decodedHashedAndSalt = Base64.decodeBase64(oldBase64);
logger.debug("Decoded Str {} to {}", oldBase64, decodedHashedAndSalt);
......@@ -75,6 +90,7 @@ public class PasswordFunctions {
logger.debug("Hash : {} salt: {}", decodedHashedAndSalt, salt);
String newBase64 = shaWithSaltToBase64(plainPassword, salt);
logger.debug("comparing old {} to new {}", oldBase64, newBase64);
boolean theSame = oldBase64.equals(newBase64);
......
package fi.insomnia.bortal.utilities;
import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.insomnia.bortal.utilities.apachecodec.binary.Base64;
public class StreampartyLegacyPwdcheck {
private static final Logger logger = LoggerFactory.getLogger(StreampartyLegacyPwdcheck.class);
private static final String streampartyStringToSha(String password) {
String paluu = "";
try {
MessageDigest algo = MessageDigest.getInstance("SHA");
algo.update(password.getBytes(), 0, password.length());
paluu = new BigInteger(1, algo.digest()).toString(16);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return paluu;
}
public static boolean streampartyOldAlgoMatch(String plaintext, String encrypted) {
String salt = encrypted.substring(0, 4);
logger.debug("Got hash: " + salt);
return encrypted.equals(salt + streampartyStringToSha(salt + plaintext.trim()));
}
public static String oldEncode(String password) {
try {
MessageDigest md = MessageDigest.getInstance("SHA");
return new String(Base64.encodeBase64(md.digest(password.getBytes())), "UTF-8");
// return Base64.encode(md.digest(password.getBytes()));
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return new String(password);
}
public static boolean oldIsMatch(String password, String encrypted) {
return (encrypted.equals(oldEncode(password)));
}
}
......@@ -9,5 +9,6 @@
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="com.sun.portlet.plugin.library.portlet20"/>
<classpathentry kind="output" path="build/classes"/>
</classpath>
......@@ -5,4 +5,5 @@
<installed facet="jst.java" version="6.0"/>
<installed facet="jst.web" version="2.5"/>
<installed facet="sun.facet" version="9"/>
<installed facet="generic.portlet" version="2.0"/>
</faceted-project>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
xmlns:tools="http://java.sun.com/jsf/composite/tools" xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:tools="http://java.sun.com/jsf/composite/tools"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:c="http://java.sun.com/jsp/jstl/core"
>
<f:view locale="#{sessionHandler.locale}">
<ui:insert name="metadata" />
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta
http-equiv="Content-Type"
content="text/html; charset=UTF-8"
/>
<title><h:outputText value="#{i18n['global.eventname']}" /> - <h:outputText
value="#{i18n[util.concat(thispage,'.header') ] }" /></title>
<link rel="stylesheet" type="text/css" href="#{request.contextPath}/resources/style/insomnia1/style.css" />
value="#{i18n[util.concat(thispage,'.header') ] }"
/></title>
<link
rel="stylesheet"
type="text/css"
href="#{request.contextPath}/resources/style/insomnia1/style.css"
/>
</h:head>
<h:body>
......@@ -18,8 +31,11 @@
<div id="navigation">
<div id="topheadercontainer"><img id="head"
src="#{request.contextPath}/resources/style/insomnia1/img/header.gif" alt="headerimage" />
<div id="topheadercontainer"><img
id="head"
src="#{request.contextPath}/resources/style/insomnia1/img/header.gif"
alt="headerimage"
/>
<div style="float: left">
<div id="headerbox"><tools:isLoggedIn>#{sessionHandler.loginname}</tools:isLoggedIn><tools:loginLogout /></div>
......@@ -29,32 +45,46 @@
</div>
</div>
<div id="mainmenu">
<div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'frontpage'?'a':''}"><h:link outcome="/index"
value="#{i18n['topmenu.frontpage']}" /></div>
<div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'frontpage'?'a':''}"><h:link
outcome="/index"
value="#{i18n['topmenu.frontpage']}"
/></div>
<tools:isLoggedIn>
<div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'user'?'a':''}"><h:link outcome="/user/editself"
value="#{i18n['topmenu.usersPreferences']}" /></div>
<div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'user'?'a':''}"><h:link
outcome="/user/editself"
value="#{i18n['topmenu.usersPreferences']}"
/></div>
<!-- <div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'shop'?'a': ''}"><h:link
outcome="/product/createBill" value="#{i18n['topmenu.shoppings']}" /></div>
-->
</tools:isLoggedIn> <tools:canExecute target="POLL">
<div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'poll'?'a': ''}"><h:link
outcome="/poll/start" value="#{i18n['topmenu.poll']}" /></div>
outcome="/poll/start"
value="#{i18n['topmenu.poll']}"
/></div>
</tools:canExecute>
<div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'placemap'?'a':''}"><h:link
outcome="/place/placemap" value="#{i18n['topmenu.placemap']}" /></div>
outcome="/place/placemap"
value="#{i18n['topmenu.placemap']}"
/></div>
<tools:canRead target="USER_MANAGEMENT">
<div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'admin'?'a':''}"><h:link outcome="/product/list"
value="#{i18n['topmenu.adminfront']}" /></div>
<div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'admin'?'a':''}"><h:link
outcome="/product/list"
value="#{i18n['topmenu.adminfront']}"
/></div>
<div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'rfidshop'?'a':''}"><h:link
outcome="/shop/showReaderEvents" value="#{i18n['topmenu.rfidshop']}" /></div>
outcome="/shop/showReaderEvents"
value="#{i18n['topmenu.rfidshop']}"
/></div>
</tools:canRead> <tools:canRead target="GAME">
<div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'game'?'a':''}"><h:link outcome="/game/start"
value="#{i18n['topmenu.game']}" /></div>
<div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'game'?'a':''}"><h:link
outcome="/game/start"
value="#{i18n['topmenu.game']}"
/></div>
</tools:canRead></div>
</div>
......
......@@ -8,7 +8,6 @@
</h:head>
<h:body>
<ui:component>
<c:if test="#{rendered}">
<div id="sidebar"><ui:insert name="sidebarcontent" /></div>
</c:if>
......
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:tools="http://java.sun.com/jsf/composite/tools"
xmlns:ui="http://java.sun.com/jsf/facelets"
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
xmlns:tools="http://java.sun.com/jsf/composite/tools" xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:c="http://java.sun.com/jsp/jstl/core"
>
<f:view locale="#{sessionHandler.locale}">
<ui:insert name="metadata" />
<h:head>
<meta
http-equiv="Content-Type"
content="text/html; charset=UTF-8"
/>
<title>STREAM INTRA</title>
<link href="#{request.contextPath}/resources/style/stream10/intra_style.css" rel="stylesheet" type="text/css" />
<meta http-equiv="CACHE-CONTROL" content="NO-CACHE" />
<meta http-equiv="PRAGMA" content="NO-CACHE" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title><h:outputText value="#{i18n['global.eventname']}" /> - <h:outputText
value="#{i18n[util.concat(thispage,'.header') ] }"
/></title>
<link
rel="stylesheet"
type="text/css"
href="#{request.contextPath}/resources/style/insomnia1/style.css"
/>
</title>
</h:head>
<h:body>
<div id="wrapper">
<div id="navigation">
<div id="topheadercontainer"><img
id="head"
src="#{request.contextPath}/resources/style/insomnia1/img/header.gif"
alt="headerimage"
/>
<div style="float: left">
<div id="headerbox"><tools:isLoggedIn>#{sessionHandler.loginname}</tools:isLoggedIn><tools:loginLogout /></div>
</div>
<div id="topheader">
<img src="#{request.contextPath}/resources/style/stream10/header.png" />
</div>
<div id="mainmenu">
<div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'frontpage'?'a':''}"><h:link
outcome="/index"
value="#{i18n['topmenu.frontpage']}"
/></div>
<tools:isLoggedIn>
<div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'user'?'a':''}"><h:link
outcome="/user/editself"
value="#{i18n['topmenu.usersPreferences']}"
/></div>
<!-- <div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'shop'?'a': ''}"><h:link
outcome="/product/createBill" value="#{i18n['topmenu.shoppings']}" /></div>
-->
</tools:isLoggedIn> <tools:canExecute target="POLL">
<div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'poll'?'a': ''}"><h:link
outcome="/poll/start"
value="#{i18n['topmenu.poll']}"
/></div>
</tools:canExecute>
<div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'placemap'?'a':''}"><h:link
outcome="/place/placemap"
value="#{i18n['topmenu.placemap']}"
/></div>
<tools:canRead target="USER_MANAGEMENT">
<div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'admin'?'a':''}"><h:link
outcome="/product/list"
value="#{i18n['topmenu.adminfront']}"
/></div>
<div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'rfidshop'?'a':''}"><h:link
outcome="/shop/showReaderEvents"
value="#{i18n['topmenu.rfidshop']}"
/></div>
</tools:canRead> <tools:canRead target="GAME">
<div class="link#{i18n[util.concat(thispage,'.pagegroup')] == 'game'?'a':''}"><h:link
outcome="/game/start"
value="#{i18n['topmenu.game']}"
/></div>
</tools:canRead></div>
<div id="container">
<div id="page">
<div id="leftnav">
<tools:isLoggedIn>#{sessionHandler.loginname}</tools:isLoggedIn>
<tools:loginLogout />
<ui:include src="/layout/insomnia1/sidebar-#{i18n[util.concat(thispage,'.pagegroup')]}.xhtml" />
</div>
<div id="content">
<div id="cwrap"><ui:include src="/layout/insomnia1/sidebar-#{i18n[util.concat(thispage,'.pagegroup')]}.xhtml" />
<h:messages globalOnly="true" /> <ui:insert name="content" /></div>
<h:messages globalOnly="true" />
<ui:insert name="content" />
</div>
<div id="copyright">&copy; 2009 Stream Ry</div>
</div>
<div id="footer">#{i18n['global.copyright']}</div>
</div>
</h:body>
</f:view>
......
global.copyright=Verkkopeliyhdistys Insomnia ry
global.productname=Omnia
navi.auth.login=frontpage
navi.auth.loginerror=frontpage
navi.auth.logout=frontpage
pagegroup.auth.login=frontpage
page.auth.login.header=Login
page.auth.login.header=Login error
page.auth.login.title=Login error
page.index.pagegroup=frontpage
page.index.header=Etusivu
page.auth.login.pagegroup=login
page.auth.loginerror.pagegroup=frontpage
page.auth.logout.pagegroup=login
page.auth.notauthorized.pagegroup=frontpage
page.bill.list.pagegroup=shop
......@@ -26,84 +31,130 @@ page.bill.list.pagegroup=shop
page.viewexpired.pagegroup=frontpage
page.eventorg.list.pagegroup=admin
page.eventorg.edit.pagegroup=admin
page.eventorg.create.pagegroup=admin
page.eventorg.editEvent.pagegroup=admin
page.product.create.pagegroup=admin
page.product.createBill.pagegroup=shop
page.product.edit.pagegroup=admin
page.product.list.pagegroup=admin
page.role.create.pagegroup=admin
page.role.edit.pagegroup=admin
page.role.list.pagegroup=admin
page.place.placemap.pagegroup=placemap
page.place.placemap.header=Varaa paikka
page.place.mygroups.pagegroup=user
page.place.mygroups.header=Omat paikat
page.place.insertToken.pagegroup=user
page.place.insertToken.header=Syt konepaikkakoodi
page.place.insertToken.header=Sy\u02C6t\u2030 konepaikkakoodi
page.place.edit.pagegroup=admin
page.place.edit.header=Edit place
page.account.edit.pagegroup=admin
page.account.edit.header=Muokkaa tilitapahtumia
page.user.create.pagegroup=user
page.user.create.header=Uusi kyttj
page.user.create.header=Uusi k\u2030ytt\u2030j\u2030
page.user.edit.pagegroup=user
page.user.edit.header=Kyttjn muokkaus
page.user.edit.header=K\u2030ytt\u2030j\u2030n muokkaus
page.user.list.pagegroup=user
page.user.list.header=Kyttjt
page.user.list.header=K\u2030ytt\u2030j\u2030t
page.user.editself.pagegroup=user
page.user.editself.header=Omat tiedot
page.user.mygroups.pagegroup=user
page.user.mygroups.header=Omat paikat
page.admin.sendimage.pagegroup=admin
page.admin.sendimage.header=Lhet kuva
page.admin.sendimage.header=L\u2030het\u2030 kuva
page.auth.login.loginerror.pagegroup=frontpage
page.auth.login.loginerror.header=Kirjautumisvirhe
page.auth.login.logout.pagegroup=frontpage
page.auth.login.logout.header=Uloskirjautuminen
page.viewexpired.pagegroup=frontpage
page.permissionDenied.pagegroup=frontpage
page.permissionDenied.header=Psy kielletty
page.permissionDenied.header=P\u2030\u2030sy kielletty
page.bill.placemap.pagegroup=placemap
page.bill.placemap.header=Paikkakartta
page.bill.listAll.pagegroup=admin
page.bill.listAll.header=Laskut
page.bill.edit.pagegroup=admin
page.bill.edit.header=Edit bill
page.bill.billSummary.pagegroup=admin
page.bill.billSummary.header=Laskujen yhteenveto
page.account.list.pagegroup=user
page.account.list.header=Tilitapahtumat
page.auth.resetPassword.pagegroup=user
page.auth.resetPassword.header=Salasanan resetointi
page.auth.resetPassword.header=Salasanan resetointi
page.shop.readerevents.pagegroup=rfidshop
page.shop.readerevents.header=RFID kauppa
page.game.start.pagegroup=game
page.game.start.header=Insomnia Game
page.game.list.pagegroup=game
page.game.list.header=Insomnia Game
page.game.list.header=Insomnia Game
page.poll.start.pagegroup=poll
page.poll.start.header=Kysely
page.poll.answer.pagegroup=poll
page.poll.answer.header=Kysely
page.poll.answered.pagegroup=poll
page.poll.answered.header=Kiitos vastauksestasi
#Bill number
# Validationmessages
# Java Resource Bundle
# Modified by Zaval JRC Editor (C) Zaval CE Group
# http://www.zaval.org/products/jrc-editor/
#
global.cancel=Cancel
global.copyright=Insomnia Ry, Stream Ry
global.infomail=
global.notauthorized=You don't have enought rights to view this information.
global.productname=Omnia
global.save=Save
global.webpage=
login.login=Login
login.logout=Logout
login.logoutmessage=You have logged out of the system.
login.password=Password
login.submit=Login
login.username=Username
nasty.user=Hax attempt! Go away!
page.auth.login.header=Login error
page.auth.login.loginerror=frontpage
page.auth.login.logout=frontpage
page.auth.login.pagegroup=frontpage
page.auth.login.title=Login error
page.index.pagegroup=frontpage
page.auth.login.pagegroup=frontpage
page.auth.loginerror.pagegroup=frontpage
page.auth.logout.pagegroup=frontpage
page.auth.notauthorized.pagegroup=frontpage
page.index.pagegroup=frontpage
page.product.create.pagegroup=admin
page.product.createBill.pagegroup=shop
page.product.edit.pagegroup=admin
page.product.list.pagegroup=admin
page.role.create.pagegroup=admin
page.role.edit.pagegroup=admin
page.role.list.pagegroup=admin
page.tests.placemap.pagegroup=shop
page.user.create.pagegroup=user
page.user.edit.pagegroup=user
page.user.editself.pagegroup=user
page.user.list.pagegroup=user
page.user.editself.pagegroup=user
global.cancel=Cancel
global.notauthorized=You don't have enought rights to view this information.
global.save=Save
login.login=Login
login.logout=Logout
login.logoutmessage=You have logged out of the system.
login.password=Password
login.submit=Login
login.username=Username
nasty.user=Hax attempt! Go away!
page.auth.login.loginerror=frontpage
page.auth.login.logout=frontpage
page.tests.placemap.pagegroup=shop
page.viewexpired=frontpage
placeSelect.placesleft=Places left
product.barcode=Barcode
product.create=Create product
product.edit=Edit
product.name=Name
product.prepaid=Prepaid
product.price=Product price
product.save=Save
product.sort=Sort
product.unitName=Product unit
product.vat=VAT
product.cart.count=Count
role.create=Create role
role.edit=Edit
role.name=Name
role.parents=Parents
topmenu.adminfront=Adminstuff
topmenu.frontpage=Frontpage
topmenu.shoppings=Shop
topmenu.usersPreferences=Preferences
user.bank=Bank
user.bankaccount=Bank account
user.edit=Edit
user.email=Email address
user.nick=Nickname
user.password=Password
user.phone=Phone
user.login=Login name
user.firstNames=First names
user.lastName=Last name
user.address=Address
user.zipCode=Zip code
user.town=Town
user.sex=Sex
user.save=Save
user.sex.FEMALE=Female
user.sex.MALE=Male
user.sex.UNDEFINED=Undefined
user.username=Username
user.validate.notUniqueUsername=Username already exists. Please select another.
bill.printBill=Print
bill.billnumber=Bill number
bill.referencenumber=Referencenumber
bill.paidDate=Paid
bill.sentDate=Sent
bill.totalPrice=Total price
bill.totalPrice=Total price
sidebar.user.editself=My preferences
sidebar.user.list=List users
sidebar.user.create=Create new user
sidebar.product.create=New product
sidebar.product.list=List products
sidebar.product.createBill=Create bill
sidebar.role.create=Create role
sidebar.role.list=List roles
sidebar.map.placemap=Select places
permissiondenied.header=Permission denied!
permissiondenied.notLoggedIn=You are not authorized to view this page. Logging in may help.
permissiondenied.alreadyLoggedIn=You are not authorized to view this page. If you think this is an error please contact the admins.
viewexpired.title=This view has expired
viewexpired.body=Please login again.
#Bill number
# Validationmessages
# Java Resource Bundle
# Modified by Zaval JRC Editor (C) Zaval CE Group
# http://www.zaval.org/products/jrc-editor/
#
global.infomail=info@streamparty.org
global.webpage=http://www.streamparty.org
global.webpage=http\u003A//www.streamparty.org
#Bill number
# Validationmessages
global.eventname=Stream seven
#Bill number
# Validationmessages
# Java Resource Bundle
# Modified by Zaval JRC Editor (C) Zaval CE Group
# http://www.zaval.org/products/jrc-editor/
#
global.infomail=info@insomnia.fi
global.webpage=http://www.insomnia.fi
global.webpage=http\u003A//www.insomnia.fi
#Bill number
# Validationmessages
global.eventname=Insomnia XII
#Bill number
# Validationmessages
......@@ -20,6 +20,12 @@ bortalRealm {
fi.insomnia.bortal.BortalLoginModule required;
};
bortalRealm {
me.riihimaki.simplestcms.auth.LoginModule required;
};
# ./asadmin create-auth-realm --classname me.riihimaki.simplestcms.auth.SimplestLdapRealm --property jaas-context=simplestCmsRealm simplestCmsRealm
Huom! Lue komennot lpi ja muokkaa muuttujat sopiviksi!
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!