Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Codecrew
/
Moya
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
30
Merge Requests
2
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 002a3bbc
authored
May 13, 2012
by
Juho Salli
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
CompoPermission ja compoview juttui
1 parent
ca494e1c
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
261 additions
and
208 deletions
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/PermissionBean.java
code/LanBortalUtilities/src/fi/insomnia/bortal/enums/BortalApplication.java
code/LanBortalUtilities/src/fi/insomnia/bortal/enums/apps/CompoPermission.java
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/voting/VotingCompoListView.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/PermissionBean.java
View file @
002a3bb
package
fi
.
insomnia
.
bortal
.
beans
;
package
fi
.
insomnia
.
bortal
.
beans
;
import
java.security.Principal
;
import
java.security.Principal
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
javax.annotation.security.DeclareRoles
;
import
javax.annotation.security.DeclareRoles
;
import
javax.ejb.EJB
;
import
javax.ejb.EJB
;
import
javax.ejb.SessionContext
;
import
javax.ejb.SessionContext
;
import
javax.ejb.Stateless
;
import
javax.ejb.Stateless
;
import
javax.resource.spi.IllegalStateException
;
import
javax.resource.spi.IllegalStateException
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
fi.insomnia.bortal.enums.apps.BillPermission
;
import
fi.insomnia.bortal.enums.apps.BillPermission
;
import
fi.insomnia.bortal.enums.apps.ContentPermission
;
import
fi.insomnia.bortal.enums.apps.CompoPermission
;
import
fi.insomnia.bortal.enums.apps.IAppPermission
;
import
fi.insomnia.bortal.enums.apps.ContentPermission
;
import
fi.insomnia.bortal.enums.apps.LayoutPermission
;
import
fi.insomnia.bortal.enums.apps.IAppPermission
;
import
fi.insomnia.bortal.enums.apps.MapPermission
;
import
fi.insomnia.bortal.enums.apps.LayoutPermission
;
import
fi.insomnia.bortal.enums.apps.PollPermission
;
import
fi.insomnia.bortal.enums.apps.MapPermission
;
import
fi.insomnia.bortal.enums.apps.ShopPermission
;
import
fi.insomnia.bortal.enums.apps.PollPermission
;
import
fi.insomnia.bortal.enums.apps.SpecialPermission
;
import
fi.insomnia.bortal.enums.apps.ShopPermission
;
import
fi.insomnia.bortal.enums.apps.TerminalPermission
;
import
fi.insomnia.bortal.enums.apps.SpecialPermission
;
import
fi.insomnia.bortal.enums.apps.UserPermission
;
import
fi.insomnia.bortal.enums.apps.TerminalPermission
;
import
fi.insomnia.bortal.facade.UserFacade
;
import
fi.insomnia.bortal.enums.apps.UserPermission
;
import
fi.insomnia.bortal.model.User
;
import
fi.insomnia.bortal.facade.UserFacade
;
import
fi.insomnia.bortal.model.User
;
@Stateless
@DeclareRoles
({
@Stateless
UserPermission
.
S_CREATE_NEW
,
@DeclareRoles
({
UserPermission
.
S_LOGIN
,
UserPermission
.
S_CREATE_NEW
,
UserPermission
.
S_LOGOUT
,
UserPermission
.
S_LOGIN
,
UserPermission
.
S_MODIFY
,
UserPermission
.
S_LOGOUT
,
UserPermission
.
S_MODIFY_ACCOUNTEVENTS
,
UserPermission
.
S_MODIFY
,
UserPermission
.
S_VIEW_ACCOUNTEVENTS
,
UserPermission
.
S_MODIFY_ACCOUNTEVENTS
,
UserPermission
.
S_VIEW_ALL
,
UserPermission
.
S_VIEW_ACCOUNTEVENTS
,
UserPermission
.
S_VIEW_SELF
,
UserPermission
.
S_VIEW_ALL
,
UserPermission
.
S_WRITE_ROLES
,
UserPermission
.
S_VIEW_SELF
,
UserPermission
.
S_READ_ROLES
,
UserPermission
.
S_WRITE_ROLES
,
UserPermission
.
S_ANYUSER
,
UserPermission
.
S_READ_ROLES
,
UserPermission
.
S_MANAGE_HTTP_SESSION
,
UserPermission
.
S_ANYUSER
,
UserPermission
.
S_INVITE_USERS
,
UserPermission
.
S_MANAGE_HTTP_SESSION
,
UserPermission
.
S_INVITE_USERS
,
MapPermission
.
S_VIEW
,
MapPermission
.
S_MANAGE_MAPS
,
MapPermission
.
S_VIEW
,
MapPermission
.
S_MANAGE_OTHERS
,
MapPermission
.
S_MANAGE_MAPS
,
MapPermission
.
S_BUY_PLACES
,
MapPermission
.
S_MANAGE_OTHERS
,
MapPermission
.
S_BUY_PLACES
,
ShopPermission
.
S_LIST_ALL_PRODUCTS
,
ShopPermission
.
S_LIST_USERPRODUCTS
,
ShopPermission
.
S_LIST_ALL_PRODUCTS
,
ShopPermission
.
S_SHOP_TO_OTHERS
,
ShopPermission
.
S_LIST_USERPRODUCTS
,
ShopPermission
.
S_MANAGE_PRODUCTS
,
ShopPermission
.
S_SHOP_TO_OTHERS
,
ShopPermission
.
S_SHOP_PRODUCTS
,
ShopPermission
.
S_MANAGE_PRODUCTS
,
ShopPermission
.
S_SHOP_PRODUCTS
,
BillPermission
.
S_CREATE_BILL
,
BillPermission
.
S_READ_ALL
,
BillPermission
.
S_CREATE_BILL
,
BillPermission
.
S_WRITE_ALL
,
BillPermission
.
S_READ_ALL
,
BillPermission
.
S_VIEW_OWN
,
BillPermission
.
S_WRITE_ALL
,
BillPermission
.
S_VIEW_OWN
,
ContentPermission
.
S_MANAGE_NEWS
,
ContentPermission
.
S_MANAGE_PAGES
,
ContentPermission
.
S_MANAGE_NEWS
,
ContentPermission
.
S_MANAGE_ACTIONLOG
,
ContentPermission
.
S_MANAGE_PAGES
,
ContentPermission
.
S_MANAGE_ACTIONLOG
,
PollPermission
.
S_ANSWER
,
PollPermission
.
S_VIEW_RESULTS
,
PollPermission
.
S_ANSWER
,
PollPermission
.
S_CREATE
,
PollPermission
.
S_VIEW_RESULTS
,
PollPermission
.
S_CREATE
,
SpecialPermission
.
S_SUPERADMIN
,
SpecialPermission
.
S_USER
,
SpecialPermission
.
S_SUPERADMIN
,
SpecialPermission
.
S_ANONYMOUS
,
SpecialPermission
.
S_USER
,
SpecialPermission
.
S_ANONYMOUS
,
TerminalPermission
.
S_TERMINAL
,
TerminalPermission
.
S_CASHIER_TERMINAL
,
TerminalPermission
.
S_TERMINAL
,
TerminalPermission
.
S_CUSTOMER_TERMINAL
,
TerminalPermission
.
S_CASHIER_TERMINAL
,
TerminalPermission
.
S_SELFHELP_TERMINAL
,
TerminalPermission
.
S_CUSTOMER_TERMINAL
,
TerminalPermission
.
S_SELFHELP_TERMINAL
,
LayoutPermission
.
S_MANAGE_MENU
,
LayoutPermission
.
S_MANAGE_MENU
,
})
public
class
PermissionBean
implements
PermissionBeanLocal
{
CompoPermission
.
S_MANAGE
,
CompoPermission
.
S_VOTE
,
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
PermissionBean
.
class
);
CompoPermission
.
S_SUBMIT_ENTRY
,
CompoPermission
.
S_VIEW_COMPOS
,
@Resource
private
SessionContext
context
;
})
public
class
PermissionBean
implements
PermissionBeanLocal
{
@EJB
private
LoggingBeanLocal
loggingbean
;
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
PermissionBean
.
class
);
@EJB
@Resource
private
UserFacade
userfacade
;
private
SessionContext
context
;
//
@EJB
// @Override
private
LoggingBeanLocal
loggingbean
;
// public boolean hasPermission(String perm) {
// return context.isCallerInRole(perm);
@EJB
// }
private
UserFacade
userfacade
;
@Override
//
public
boolean
hasPermission
(
IAppPermission
perm
)
{
// @Override
// public boolean hasPermission(String perm) {
if
(
perm
==
null
)
// return context.isCallerInRole(perm);
{
// }
return
false
;
}
@Override
return
context
.
isCallerInRole
(
perm
.
getFullName
());
public
boolean
hasPermission
(
IAppPermission
perm
)
{
}
if
(
perm
==
null
)
{
// @Override
return
false
;
// public boolean fatalPermission(IAppPermission permission, Object...
}
// failmessage) {
return
context
.
isCallerInRole
(
perm
.
getFullName
());
// boolean ret = hasPermission(permission);
// if (!ret) {
}
// StringBuilder message = new
// StringBuilder().append(" permission: ").append(permission);
// @Override
// if (failmessage == null || failmessage.length == 0) {
// public boolean fatalPermission(IAppPermission permission, Object...
// message.append(" MSG: SessionHandler mbean permission exception: Permission: ")
// failmessage) {
// .append(permission);
// boolean ret = hasPermission(permission);
// } else {
// if (!ret) {
// for (Object part : failmessage) {
// StringBuilder message = new
// message.append(part == null ? "NULL" : part.toString());
// StringBuilder().append(" permission: ").append(permission);
// }
// if (failmessage == null || failmessage.length == 0) {
// }
// message.append(" MSG: SessionHandler mbean permission exception: Permission: ")
// // throw new SecurityException("Foobar");
// .append(permission);
//
// } else {
// throw new PermissionDeniedException(loggingbean, getCurrentUser(),
// for (Object part : failmessage) {
// message.toString());
// message.append(part == null ? "NULL" : part.toString());
// }
// }
// return true;
// }
// }
// // throw new SecurityException("Foobar");
//
//
// @Override
// throw new PermissionDeniedException(loggingbean, getCurrentUser(),
// public void fatalNotLoggedIn() throws PermissionDeniedException {
// message.toString());
// if (!isLoggedIn()) {
// }
// throw new PermissionDeniedException(loggingbean, getCurrentUser(),
// return true;
// "User is not logged in!");
// }
// }
//
// }
// @Override
// public void fatalNotLoggedIn() throws PermissionDeniedException {
@Override
// if (!isLoggedIn()) {
public
boolean
isCurrentUser
(
User
user
)
{
// throw new PermissionDeniedException(loggingbean, getCurrentUser(),
return
(
context
.
getCallerPrincipal
()
==
null
||
user
==
null
)
?
false
:
context
.
getCallerPrincipal
().
getName
().
equals
(
user
.
getLogin
());
// "User is not logged in!");
}
// }
// }
@Override
public
boolean
isLoggedIn
()
{
@Override
public
boolean
isCurrentUser
(
User
user
)
{
return
!
getAnonUser
().
equals
(
getCurrentUser
())
||
getCurrentUser
().
isSuperadmin
();
return
(
context
.
getCallerPrincipal
()
==
null
||
user
==
null
)
?
false
:
context
.
getCallerPrincipal
().
getName
().
equals
(
user
.
getLogin
());
}
}
@Override
@Override
public
User
getCurrentUser
()
{
public
boolean
isLoggedIn
()
{
Principal
principal
=
context
.
getCallerPrincipal
();
return
!
getAnonUser
().
equals
(
getCurrentUser
())
||
getCurrentUser
().
isSuperadmin
();
User
ret
=
userfacade
.
findByLogin
(
principal
.
getName
());
}
if
(
ret
==
null
)
{
ret
=
getAnonUser
();
@Override
}
public
User
getCurrentUser
()
{
return
ret
;
Principal
principal
=
context
.
getCallerPrincipal
();
}
User
ret
=
userfacade
.
findByLogin
(
principal
.
getName
());
/**
if
(
ret
==
null
)
{
* Makes sure default user and public role exist and the user is member of
ret
=
getAnonUser
();
* the role.
}
*/
return
ret
;
@Override
}
public
User
getAnonUser
()
{
User
defaultUser
=
userfacade
.
findByLogin
(
User
.
ANONYMOUS_LOGINNAME
);
/**
if
(
defaultUser
==
null
)
{
* Makes sure default user and public role exist and the user is member of
defaultUser
=
new
User
();
* the role.
defaultUser
.
setLogin
(
User
.
ANONYMOUS_LOGINNAME
);
*/
defaultUser
.
setNick
(
User
.
ANONYMOUS_LOGINNAME
);
@Override
userfacade
.
create
(
defaultUser
);
public
User
getAnonUser
()
{
User
defaultUser
=
userfacade
.
findByLogin
(
User
.
ANONYMOUS_LOGINNAME
);
// defaultUser.setSuperadmin(true);
if
(
defaultUser
==
null
)
{
}
defaultUser
=
new
User
();
return
defaultUser
;
defaultUser
.
setLogin
(
User
.
ANONYMOUS_LOGINNAME
);
}
defaultUser
.
setNick
(
User
.
ANONYMOUS_LOGINNAME
);
userfacade
.
create
(
defaultUser
);
public
String
getPrincipal
()
{
// defaultUser.setSuperadmin(true);
Principal
principal
=
context
.
getCallerPrincipal
();
}
logger
.
debug
(
"Principal: {}"
,
principal
);
return
defaultUser
;
}
String
principalName
=
principal
.
getName
();
logger
.
debug
(
"Principal is {}"
,
principalName
);
public
String
getPrincipal
()
{
return
principalName
;
Principal
principal
=
context
.
getCallerPrincipal
();
}
logger
.
debug
(
"Principal: {}"
,
principal
);
@Override
String
principalName
=
principal
.
getName
();
public
String
getCommonName
()
throws
IllegalStateException
{
logger
.
debug
(
"Principal is {}"
,
principalName
);
String
dn
=
context
.
getCallerPrincipal
().
getName
();
return
principalName
;
String
[]
parts
=
dn
.
split
(
","
);
}
for
(
String
part
:
parts
)
{
@Override
if
(
part
.
trim
().
toUpperCase
().
startsWith
(
"CN="
))
{
public
String
getCommonName
()
throws
IllegalStateException
{
String
cn
=
part
.
substring
(
"CN="
.
length
());
return
cn
;
String
dn
=
context
.
getCallerPrincipal
().
getName
();
}
String
[]
parts
=
dn
.
split
(
","
);
}
for
(
String
part
:
parts
)
{
throw
new
IllegalStateException
(
"Current security principal has no CN"
);
if
(
part
.
trim
().
toUpperCase
().
startsWith
(
"CN="
))
{
}
String
cn
=
part
.
substring
(
"CN="
.
length
());
}
return
cn
;
}
}
throw
new
IllegalStateException
(
"Current security principal has no CN"
);
}
}
code/LanBortalUtilities/src/fi/insomnia/bortal/enums/BortalApplication.java
View file @
002a3bb
package
fi
.
insomnia
.
bortal
.
enums
;
package
fi
.
insomnia
.
bortal
.
enums
;
import
fi.insomnia.bortal.enums.apps.BillPermission
;
import
fi.insomnia.bortal.enums.apps.BillPermission
;
import
fi.insomnia.bortal.enums.apps.CompoPermission
;
import
fi.insomnia.bortal.enums.apps.ContentPermission
;
import
fi.insomnia.bortal.enums.apps.ContentPermission
;
import
fi.insomnia.bortal.enums.apps.IAppPermission
;
import
fi.insomnia.bortal.enums.apps.IAppPermission
;
import
fi.insomnia.bortal.enums.apps.LayoutPermission
;
import
fi.insomnia.bortal.enums.apps.LayoutPermission
;
...
@@ -21,6 +22,7 @@ public enum BortalApplication {
...
@@ -21,6 +22,7 @@ public enum BortalApplication {
TERMINAL
(
"Sales and self help terminal roles"
,
TerminalPermission
.
class
),
TERMINAL
(
"Sales and self help terminal roles"
,
TerminalPermission
.
class
),
LAYOUT
(
"Layoutstuff"
,
LayoutPermission
.
class
),
LAYOUT
(
"Layoutstuff"
,
LayoutPermission
.
class
),
SALESPOINT
(
"Managing salespoints"
,
SalespointPermission
.
class
),
SALESPOINT
(
"Managing salespoints"
,
SalespointPermission
.
class
),
COMPO
(
"Managing compos"
,
CompoPermission
.
class
),
;
;
...
...
code/LanBortalUtilities/src/fi/insomnia/bortal/enums/apps/CompoPermission.java
0 → 100644
View file @
002a3bb
package
fi
.
insomnia
.
bortal
.
enums
.
apps
;
import
fi.insomnia.bortal.enums.BortalApplication
;
public
enum
CompoPermission
implements
IAppPermission
{
MANAGE
(
"Manage compos"
),
VOTE
(
"Vote"
),
SUBMIT_ENTRY
(
"Submit entry"
),
VIEW_COMPOS
(
"View compos"
),
;
public
static
final
String
S_MANAGE
=
"COMPO/MANAGE"
;
public
static
final
String
S_VOTE
=
"COMPO/VOTE"
;
public
static
final
String
S_SUBMIT_ENTRY
=
"COMPO/SUBMIT_ENTRY"
;
public
static
final
String
S_VIEW_COMPOS
=
"COMPO/VIEW_COMPOS"
;
private
final
String
description
;
private
final
String
fullName
;
private
CompoPermission
(
String
desc
)
{
description
=
desc
;
fullName
=
new
StringBuilder
().
append
(
getParent
().
toString
()).
append
(
DELIMITER
).
append
(
toString
()).
toString
();
}
@Override
public
BortalApplication
getParent
()
{
return
BortalApplication
.
COMPO
;
}
@Override
public
String
getDescription
()
{
return
this
.
description
;
}
@Override
public
String
getFullName
()
{
return
fullName
;
}
}
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/voting/VotingCompoListView.java
View file @
002a3bb
...
@@ -24,7 +24,9 @@ public class VotingCompoListView extends GenericCDIView {
...
@@ -24,7 +24,9 @@ public class VotingCompoListView extends GenericCDIView {
@EJB
@EJB
private
VotingBeanLocal
votbean
;
private
VotingBeanLocal
votbean
;
boolean
curEntries
=
false
;
boolean
maxParts
=
false
;
public
List
<
Compo
>
getCompos
()
{
public
List
<
Compo
>
getCompos
()
{
return
votbean
.
getCompoList
();
return
votbean
.
getCompoList
();
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment