/  14
 
Como usar JAAS com Tomcat 6.0
@ 2008 Prof. Antonio Passos (http://blog.antoniopassos.pro.br
 
) Página 1
1) Passos para criar o módulo de autenticação e autorização
a)
 
Crie novo “Java Project”;Ex.:
AppLoginModuleJAAS
b)
 
Nele, crie 2 pacotes;Ex.:
br.pro.passos.securitybr.pro.passos.security.principal
c)
 
No primeiro pacote, crie uma classe, digamos “LoginModuleJAASImpl”, queimplemente a interface “LoginModule”;d)
 
No segundo pacote, crie as classes “UsuarioImplPrincipal” e “PapelImplPrincipal”, que,como o nome sugere, implementem a interface “Principal”;e)
 
Compile o projeto para um arquivo de nome “LoginModuleJAAS.jar”;f)
 
Coloque o arquivo “LoginModuleJAAS.jar”, criado em “e”, no diretório “lib” do Tomcat;g)
 
Crie um arquivo “jaas.config” com o conteúdo abaixo:
ModuloLoginJAAS {br.pro.passos.security.LoginModuleJAASImpl required;};
h)
 
Coloque o arquivo “jaas.config”, criado em “g”, no diretório “conf” do Tomcat;
i)
 
Insira no arquivo “catalina.bat”, presente no diretório “bin” do Tomcat, antes da linhacomentada “Execute The Requested Command”, a linha abaixo:
 set JAVA_OPTS=%JAVA_OPTS% -Djava.security.auth.login.config="%CATALINA_BASE%\conf\jaas.config"
 
Como usar JAAS com Tomcat 6.0
@ 2008 Prof. Antonio Passos (http://blog.antoniopassos.pro.br
 
) Página 2
2) Passos para criar aplicativo web escrito em Java para testar o módulo deautenticação e autorização
a)
 
Crie novo “Dynamic Web Project”.Ex.:AppWebTestaJAASb)
 
No diretório “WebContent”, crie as páginas JSP:index.jsplogin.jsperroLogin.jsperro403.jsplogout.jspcadastros.jsprelatorios.jspOs códigos-fonte dessas páginas encontram-se no fim deste documento. Vamoscomentar apenas alguns poucos trechos.Na página “login.jsp”, deve-se notar o valor do atributo “action” (
 j_security_check
) e dosatributos “name” dos campos type (
 j_username
)e password (
 j_password
).
<form method="POST" action="j_security_check"><table><tr><td>Usuário</td><td><input type="text" name="j_username" /></td></tr><tr><td>Senha</td><td><input type="password" name="j_password" /></td></tr><tr><td colspan="2"><input type="submit" value="Login" /></td></tr></table>
Na página “logout.jsp”, código-abaixo, observe que a sessão é finalizada e o usuário éredirecionado para a página “index.jsp”, o que, por sua vez, levará o usuário para apágina de login novamente.
<%session.invalidate();response.sendRedirect("index.jsp");%>
Nas páginas “index.jsp”, “cadastros.jsp”, “relatórios.jsp” e “erro403.jsp”, a linha abaixoé responsável por exibir uma saudação personalizada para o usuário autenticado.
 
Como usar JAAS com Tomcat 6.0
@ 2008 Prof. Antonio Passos (http://blog.antoniopassos.pro.br
 
) Página 3
<h3>Olá, <%= request.getRemoteUser() %>!!!</h3>
c)
 
No diretório “META-INF”, crie um arquivo “context.xml” com o seguinte conteúdo:
<?xml version="1.0" encoding="UTF-8"?><Context auth="Container"><Realm className="org.apache.catalina.realm.JAASRealm"appName="ModuloLoginJAAS"userClassNames="br.pro.passos.security.principal.UsuarioImplPrincipal"roleClassNames="br.pro.passos.security.principal.PapelImplPrincipal" /></Context>
Observe que atribuímos a “appName” o nome dado ao módulo de autenticação eautorização no arquivo “jaas.config”.Observe também que usamos o nome totalmente qualificado das classes querepresentam os usuários e os papéis.d)
 
No arquivo “web.xml”, inclua as linhas:
<login-config><auth-method>FORM</auth-method><realm-name>default</realm-name><form-login-config><form-login-page>/login.jsp</form-login-page><form-error-page>/erroLogin.jsp</form-error-page></form-login-config></login-config><security-constraint><display-name>Política de segurança do sistema</display-name><web-resource-collection><web-resource-name>Protege todo o site</web-resource-name><url-pattern>/*</url-pattern></web-resource-collection><auth-constraint><role-name>AUTENTICADO</role-name></auth-constraint></security-constraint><security-role><description>Papel requerido para acessar quaisquer recursos do aplicativo</description><role-name>AUTENTICADO</role-name></security-role><error-page><error-code>403</error-code><location>/erro403.jsp</location></error-page>
 

Share & Embed

More from this user

Add a Comment

Characters: ...