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 }