Olá galera,
Gostaria de ententer um detalhe que ocorreu aqui, bem eu fiz um applet, para consultar um banco de dados Firebird através de jdbc.
A applet funciona normalmente quando a utilizo através do appletview, mas quanto a coloquei no servidor apache da intranet para finalizar o teste e coloca-la em produção, para minha surpresa uma mensagem de erro comecou a ocorrer. E este erro não acontece quando a applet é carregada somento quando ela tenta efetuar a consulta no banco de dados. Tanto o apache quanto o firebird estão rodando na mesma máquina cujo ip é ( 10.0.0.1 ).
access denied ( java.util.PropertyPermission user.name read )
Bem desconfiei que isso poderia ser problema do java.policy, e o corregi com a seguinte linha :
permission java.util.PropertyPermission “user.name”, “read”;
Ai a consulta comecou a funcionar normalmente. Bem minha dúvida é a seguinte: Porque á applet por padrão não pode fazer uma conexão atraves do JDBC sem a necessidade desta linha
permission java.util.PropertyPermission “user.name”, “read”;
uma vez que eu já informo o username e o password para acesso ao banco de dados conforme o código:
Class.forName("org.firebirdsql.jdbc.FBDriver").newInstance();
conn = DriverManager.getConnection("jdbc:firebirdsql:10.0.0.1/3050:/usr/local/apache/htdocs/acima/java/database.gdb", "SYSDBA", "masterkey");
Existe alguma outra forma de solucionar este problema, ou eu terei que colocar permission java.util.PropertyPermission “user.name”, “read”; em
todas as máquinas clientes ???
P.S.: Eu tenho conciência que a melhor solução seria adotar o JSP / Servlets, mas meu tempo esta meio complicado e a principio seria somente uma pequena consulta
Muito obrigado e até mais …
Ekszuki