01: /*
02: * Criado em 24/10/2004
03: */
04: package br.com.gfp.security;
05:
06: import java.sql.SQLException;
07:
08: import br.com.gfp.dao.GFPController;
09: import br.com.gfpshare.controllers.AcessoController;
10: import br.com.gfpshare.controllers.AcessoDoUsuarioController;
11: import br.com.gfpshare.security.Acesso;
12: import br.com.gfpshare.security.AcessoDoUsuario;
13:
14: /**
15: * @author Igor Regis da Silva Simoes
16: */
17: public class SecurityManager {
18: private static SecurityManager manager = null;
19:
20: /**
21: *
22: */
23: private SecurityManager() {
24: super ();
25: }
26:
27: /**
28: * @return Returns the manager.
29: */
30: public static SecurityManager getManager() {
31: if (manager == null)
32: manager = new SecurityManager();
33: return manager;
34: }
35:
36: /**
37: * Indica se o usuário atual possui acesso pára o determinado nivel de segurança
38: * @param securityLevel Nivel de segurança a ser checado o direito de acesso
39: * @return Indica false caso o ususário não possua acesso
40: */
41: public boolean hasAccess(String securityLevel) {
42: AcessoDoUsuarioController controller = new AcessoDoUsuarioController();
43: AcessoController acessoController = new AcessoController();
44: Integer usuario = (Integer) GFPController.getGFPController()
45: .getContexto().get(GFPController.USUARIO);
46:
47: if (usuario != null) {
48: try {
49: return (controller.getBy(new AcessoDoUsuario(
50: acessoController.getBy(
51: new Acesso(securityLevel)).getId(),
52: usuario))).getTemAcesso().booleanValue();
53: } catch (SQLException e) {
54: if (e.getErrorCode() != -35) {
55: e.printStackTrace();
56: }
57: return true;
58: }
59: }
60: return true;
61: }
62: }
|