View Javadoc

1   /*
2    * Created on 24/01/2005
3    *
4    */
5   package ecar.login;
6   
7   import java.util.HashSet;
8   import java.util.List;
9   import java.util.Set;
10  
11  import javax.servlet.http.HttpServletRequest;
12  
13  import comum.database.SentinelaUtil;
14  
15  import ecar.dao.ConfiguracaoDao;
16  import ecar.dao.UsuarioDao;
17  import ecar.exception.ECARException;
18  import ecar.pojo.ConfiguracaoCfg;
19  import ecar.pojo.SisGrupoAtributoSga;
20  import ecar.pojo.UsuarioAtributoUsua;
21  import ecar.pojo.UsuarioUsu;
22  import ecar.util.Dominios;
23  import gov.pr.celepar.sentinela.comunicacao.SentinelaInterface;
24  
25  /**
26   * @author garten
27   */
28  public class SegurancaECAR {
29      
30      UsuarioUsu usuario;
31      Set gruposAcesso;
32      private boolean alterarSenha;
33      private boolean autenticado;
34      private String paginaInicialUsuario;
35      
36      /**
37       * Construtor que Inicializa classe.<br>
38       * 
39       * 
40       * @author N/C
41       * @since N/C
42       * @version N/C
43       */
44      public SegurancaECAR() {
45          setAutenticado(false);
46          setUsuario(new UsuarioUsu());
47          setGruposAcesso(new HashSet());
48          setAlterarSenha(false);
49      }
50  
51  
52      /**
53       * Retorna boolean alterarSenha.<br>
54       * 
55       * @author N/C
56       * @since N/C
57       * @version N/C
58       * @return boolean - Returns the alterarSenha.
59       */
60      public boolean isAlterarSenha() {
61          return alterarSenha;
62      }
63      
64      /**
65       * Atribui valor especificado para bollean alterarSenha.<br>
66       * 
67       * @author N/C
68       * @since N/C
69       * @version N/C
70       * @param boolean alterarSenha - The alterarSenha to set.
71       */
72      public void setAlterarSenha(boolean alterarSenha) {
73          this.alterarSenha = alterarSenha;
74      }
75      
76      
77      /**
78       * Retorna boolean autenticado.<br>
79       * 
80       * @author N/C
81       * @since N/C
82       * @version N/C
83       * @return boolean - Returns the autenticado.
84       */
85      public boolean isAutenticado() {
86          return autenticado;
87      }
88      
89      /**
90       * Atribui valor especificado para boolean autenticado.<br>
91       * 
92       * @author N/C
93       * @since N/C
94       * @version N/C
95       * @param autenticado The autenticado to set.
96       */
97      public void setAutenticado(boolean autenticado) {
98          this.autenticado = autenticado;
99      }
100     
101     /**
102      * Retorna UsusarioUsu usuario.<br>
103      * 
104      * @author N/C
105      * @since N/C
106      * @version N/C
107      * @return UsuarioUsu - Returns the usuario.
108      */
109     public UsuarioUsu getUsuario() {
110         return usuario;
111     }
112     
113     /**
114      * Atribui valor especificado para UsuarioUsu usuario.<br>
115      * 
116      * @author N/C
117      * @since N/C
118      * @version N/C
119      * @param UsuarioUsu usuario - The usuario to set.
120      */
121     public void setUsuario(UsuarioUsu usuario) {
122         this.usuario = usuario;
123     }
124     
125     /**
126      * Atribui valor especificado para String IdUsuarioUsu.<br>
127      * 
128      * @author N/C
129      * @since N/C
130      * @version N/C
131      * @param String login
132      */
133     public void setLogin(String login) {
134         getUsuario().setIdUsuarioUsu(login);
135     }
136     
137     /**
138      * Retorna String IdUsuarioUsu.<br>
139      * 
140      * @author N/C
141      * @since N/C
142      * @version N/C
143      * @return String
144      */
145     public String getLogin() {
146         return getUsuario().getIdUsuarioUsu();
147     }
148     
149     /**
150      * Atribui valor especificado para String SenhaUsu.<br>
151      * 
152      * @author N/C
153      * @since N/C
154      * @version N/C
155      * @param String senha
156      */
157     public void setSenha(String senha) {
158         getUsuario().setSenhaUsu(senha);
159     }
160     
161     /**
162      * Retorna String SenhaUsu.<br>
163      * 
164      * @author N/C
165      * @since N/C
166      * @version N/C
167      * @return String
168      */
169     public String getSenha() {
170         return getUsuario().getSenhaUsu();
171     }
172     
173     /**
174      * Atribui valor especificado para Long CodUsu.<br>
175      * 
176      * @author N/C
177      * @since N/C
178      * @version N/C
179      * @param Long CodUsu
180      */
181     public void setCodUsu(Long codigo) {
182         getUsuario().setCodUsu(codigo);
183     }
184     
185     /**
186      * Retorna Long CodUsu.<br>
187      * 
188      * @author N/C
189      * @since N/C
190      * @version N/C
191      * @return Long
192      */
193     public Long getCodUsu() {
194         return getUsuario().getCodUsu();
195     }
196     
197     /*public String getNomeUsu() {
198         return getUsuario().getNomeUsuSent();
199     }*/
200     
201     /*public void setNomeUsu(String nome) {
202         getUsuario().setNomeUsu(nome);
203     }*/
204     /**
205      * Retorna Ser gruposAcesso.<br>
206      * 
207      * @author N/C
208      * @since N/C
209      * @version N/C
210      * @return Set
211      */
212     public Set getGruposAcesso() {
213         return gruposAcesso;
214     }
215     
216     /**
217      * Atribui valor especificado para Set gruposAcesso.<br>
218      * 
219      * @author N/C
220      * @since N/C
221      * @version N/C
222      * @param gruposAcesso
223      */
224     public void setGruposAcesso(Set gruposAcesso) {
225         this.gruposAcesso = gruposAcesso;
226     }
227     
228     
229     /**
230      * Obter demais dados do usuário no banco de dados do ECAR através do código do usuário no sentinela.<br>
231      * 
232      * @author N/C
233      * @since N/C
234      * @version N/C
235      * @param HttpServletRequest request
236      * @throws ECARException
237      */
238     public void getDadosUsuario(HttpServletRequest request) throws ECARException {
239     	// Pega a interface de comunicação do sentinela
240     	SentinelaInterface com = SentinelaUtil.getSentinelaInterface();
241 
242     	UsuarioUsu u;
243         UsuarioDao uDao = new UsuarioDao(request);
244         ConfiguracaoCfg conf = (new ConfiguracaoDao(request)).getConfiguracao();
245         
246         //recuperar a página inicial do usuário, tendo como parâmetro as connfigurações do ambiente
247         SisGrupoAtributoSga sisGrupo = conf.getSisGrupoAtributoSgaByCodSgaGrAtrPgIni();
248 
249         //recuperar dados do usuário pelo id do sentinela
250         u = uDao.getUsuarioByIdDominio(String.valueOf(com.getCodUsuario()));
251         
252         if (u.getCodUsu() != null && Dominios.SIM.equals(u.getIndAtivoUsu())) {
253             // carrega os grupos de acesso do usuario para aumentar o desempenho nos testes de permissao de acesso
254             this.setGruposAcesso(uDao.getClassesAcessoUsuario(u));
255     		List atributosUsuario = uDao.getAtributosUsuarioByGrupo(u, sisGrupo);  //List de SisAtributoSatb
256     		if(atributosUsuario != null && atributosUsuario.size() > 0){
257 				UsuarioAtributoUsua usuAtrib = (UsuarioAtributoUsua)atributosUsuario.get(0);
258 				this.setPaginaInicialUsuario(usuAtrib.getSisAtributoSatb().getAtribInfCompSatb());
259     		}
260             // atribui o usuario para o objeto segurancaECAR
261             setUsuario(u);           
262             setAutenticado(true);
263         } else
264             setAutenticado(false);
265     }
266 
267     /**
268      * Retorna String paginaInicialUsuario.<br>
269      * 
270      * @author N/C
271      * @since N/C
272      * @version N/C
273      * @return String
274      */
275 	public String getPaginaInicialUsuario() {
276 		return paginaInicialUsuario;
277 	}
278 
279 	/**
280 	 * Retorna String paginaInicialUsuario.<br>
281 	 * 
282 	 * @author N/C
283      * @since N/C
284      * @version N/C
285 	 * @param String paginaInicialUsuario
286 	 */
287 	public void setPaginaInicialUsuario(String paginaInicialUsuario) {
288 		this.paginaInicialUsuario = paginaInicialUsuario;
289 	}
290 
291 }