- PR -

認証について

投稿者投稿内容
Noda
常連さん
会議室デビュー日: 2005/06/14
投稿数: 21
投稿日時: 2005-08-05 18:46
現在Basic認証の画面をつくっているのですが、どうもうまくいかなくて困っています。
流れとしてはユーザIDとPASSを取得して、それでコネクションを確立できるかということで判断させています。

エラーログをみてもさっぱりわからずあせっています。
早急に作らなくてはならないものですので;
是非みなさんのお力を貸してください。

環境はApache
tomcat4.1.31です。

下はエラーログおよびソースです。

↓↓エラーログ↓↓
Error compiling file: /usr/local/tomcat/work/Standalone/localhost/Kgu_java/ninsyou_jsp.java [javac] Compiling 1 source file

/usr/local/tomcat/work/Standalone/localhost/Kgu_java/ninsyou_jsp.java:50: cannot resolve symbol
symbol : method get_url ()
location: class j_com.Ora_Para
String Web_home = para.get_url();
^
/usr/local/tomcat/work/Standalone/localhost/Kgu_java/ninsyou_jsp.java:91: cannot resolve symbol
symbol : method get_url ()
location: class j_com.Ora_Para
String Web_Home = para.get_url();
^
2 errors

Info: Compile: javaFileName=/usr/local/tomcat/work/Standalone/localhost/Kgu_java/ninsyou_jsp.java
classpath=/home/httpd/html/Kgu_java/WEB-INF/classes/:/home/httpd/html/Kgu_java/WEB-INF/classes/:/usr/local/tomcat/shared/classes/:/usr/local/tomcat/common/classes/:/usr/local/tomcat/common/endorsed/xercesImpl.jar:/usr/local/tomcat/common/endorsed/xmlParserAPIs.jar:/usr/local/tomcat/common/lib/activation.jar:/usr/local/tomcat/common/lib/ant-launcher.jar:/usr/local/tomcat/common/lib/ant.jar:/usr/local/tomcat/common/lib/commons-collections.jar:/usr/local/tomcat/common/lib/commons-dbcp-1.1.jar:/usr/local/tomcat/common/lib/commons-logging-api.jar:/usr/local/tomcat/common/lib/commons-pool-1.1.jar:/usr/local/tomcat/common/lib/jasper-compiler.jar:/usr/local/tomcat/common/lib/jasper-runtime.jar:/usr/local/tomcat/common/lib/jdbc2_0-stdext.jar:/usr/local/tomcat/common/lib/jndi.jar:/usr/local/tomcat/common/lib/jta.jar:/usr/local/tomcat/common/lib/mail.jar:/usr/local/tomcat/common/lib/naming-common.jar:/usr/local/tomcat/common/lib/naming-factory.jar:/usr/local/tomcat/common/lib/naming-resources.jar:/usr/local/tomcat/common/lib/servlet.jar:/usr/local/tomcat/common/lib/classes12.jar
cp=/home/httpd/html/Kgu_java/WEB-INF/classes
cp=/home/httpd/html/Kgu_java/WEB-INF/classes
cp=/usr/local/tomcat/shared/classes
cp=/usr/local/tomcat/common/classes
cp=/usr/local/tomcat/common/endorsed/xercesImpl.jar
cp=/usr/local/tomcat/common/endorsed/xmlParserAPIs.jar
cp=/usr/local/tomcat/common/lib/activation.jar
cp=/usr/local/tomcat/common/lib/ant-launcher.jar
cp=/usr/local/tomcat/common/lib/ant.jar
cp=/usr/local/tomcat/common/lib/commons-collections.jar
cp=/usr/local/tomcat/common/lib/commons-dbcp-1.1.jar
cp=/usr/local/tomcat/common/lib/commons-logging-api.jar
cp=/usr/local/tomcat/common/lib/commons-pool-1.1.jar
cp=/usr/local/tomcat/common/lib/jasper-compiler.jar
cp=/usr/local/tomcat/common/lib/jasper-runtime.jar
cp=/usr/local/tomcat/common/lib/jdbc2_0-stdext.jar
cp=/usr/local/tomcat/common/lib/jndi.jar
cp=/usr/local/tomcat/common/lib/jta.jar
cp=/usr/local/tomcat/common/lib/mail.jar
cp=/usr/local/tomcat/common/lib/naming-common.jar
cp=/usr/local/tomcat/common/lib/naming-factory.jar
cp=/usr/local/tomcat/common/lib/naming-resources.jar
cp=/usr/local/tomcat/common/lib/servlet.jar
cp=/usr/local/tomcat/common/lib/classes12.jar
work dir=/usr/local/tomcat/work/Standalone/localhost/Kgu_java
srcDir=/usr/local/tomcat/work/Standalone/localhost/Kgu_java
include=ninsyou_jsp.java
Exception compiling Compile failed; see the compiler error output for details.

Exception:
Compile failed; see the compiler error output for details.
at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:944)
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:764)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:282)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:328)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:427)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:142)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)

Compile failed; see the compiler error output for details.
at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:944)
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:764)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:282)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:328)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:427)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:142)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)


↓↓ソース↓↓
<%@ page
language="java"
contentType="text/html; charset=Windows-31J"
pageEncoding="Windows-31J"
import="java.io.*,javax.mail.internet.*"
import="java.sql.Connection"
import="j_com.ninsyou_db"
import="j_com.Ora_Para"
import="j_com.JCM002S"
%>
<%
Ora_Para para = new Ora_Para();
String Web_home = para.get_url();
String p_msg = "";

String strAuth=request.getHeader("authorization");
if(strAuth==null || !strAuth.substring(0,6).equals("Basic ")){
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
response.setHeader("www-authenticate","basic realm=\"Acts Web 認証\"");
out.println("ユーザ認証はキャンセルされました。");
}else{
strAuth=MimeUtility.decodeText("=?iso-8859-1?B?" + strAuth.substring(6) + "?=");
String strId = strAuth.substring(0,strAuth.indexOf(":"));
String strPass = strAuth.substring(strAuth.indexOf(":") + 1);
%>
<HTML>
<HEAD>
<TITLE>Acts Web 認証</TITLE>
<SCRIPT LANGUAGE="JavaScript" src="/Kgu_java/JScom.js">
</SCRIPT>
</HEAD>
<%
//コネクション取得の有無で判断
Connection conn = null;
ninsyou_db db = new ninsyou_db();
conn = db.connectdb(strId,strPass);
if(conn != null){

//ユーザIDのカウント
Connection conn1 = null;
JCM002S jcm002 = new JCM002S();
jcm002.connectdb();
conn1 = jcm002.Get_conn();
int cnt = 0;
if(db.getCnt(strId,conn1) != null && !db.getCnt(strId,conn1).equals("")){
cnt = Integer.parseInt(db.getCnt(strId,conn1));
}else{
p_msg = "パスワードが無効です。";
out.println("パスワードが無効です。");
}

String Web_Home = para.get_url();
if(cnt > 0){
%>
<BODY <%if(p_msg != null && !p_msg.equals("")){%>
onLoad="CMessageBox('<%=p_msg%>',2)"
<%}%>
>
<meta http-equiv="Refresh" content="0; url=http://localhost:9080/Kgu_java/index.html">
<%
}
}else{
p_msg = "ユーザー名/パスワードが無効です。ログオンは拒否されました。";
%>
<BODY onLoad="CMessageBox('<%=p_msg%>',2)">
<%
out.println("ユーザー名/パスワードが無効です。ログオンは拒否されました。");
}
%>
</BODY>
</HTML>
<%
}
%>

かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-08-05 18:59
BASIC認証以前の問題で、JSPから生成したJavaファイルのコンパイルに失敗しています。

引用:

Error compiling file: /usr/local/tomcat/work/Standalone/localhost/Kgu_java/ninsyou_jsp.java [javac] Compiling 1 source file

/usr/local/tomcat/work/Standalone/localhost/Kgu_java/ninsyou_jsp.java:50: cannot resolve symbol
symbol : method get_url ()
location: class j_com.Ora_Para
String Web_home = para.get_url();
^


get_url()メソッドが解決できない状態ですね。
Noda
常連さん
会議室デビュー日: 2005/06/14
投稿数: 21
投稿日時: 2005-08-08 10:28
すばやい対応ありがとうございました。
コンパイルには成功しました。
が、日本語が文字化けしてしまいます。
Apache 1.3.12 から、ページの HTML に META タグを使って文字コードを指定してもISO-8859-1として出力されるようなのですが、この出力を指定したい場合は.htaccessで指定する方法しかないのですか?
Java僧
ぬし
会議室デビュー日: 2003/11/06
投稿数: 261
投稿日時: 2005-08-08 11:09
.htaccess 以外にも設定できますよ。

(1.3.x) http://httpd.apache.org/docs/1.3/mod/core.html
(2.0.x) http://httpd.apache.org/docs/2.0/mod/core.html

「サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess」だそうです。



[ メッセージ編集済み 編集者: Java僧 編集日時 2005-08-08 11:11 ]
いっきゅう
大ベテラン
会議室デビュー日: 2004/04/04
投稿数: 153
お住まい・勤務地: 兵庫
投稿日時: 2005-08-08 11:33
HTML 4.01仕様では、Webブラウザが以下の優先順位で文字コードを
決定することとなっています。
1. HTTPにおけるContent-Typeヘッダのcharsetパラメータ
2. HTML文書内のMETA宣言およびhttp-equiv属性で設定された、Content-Typeヘッダのcharsetパラメータ
3. HTML文書内の各要素のcharset属性

NodaさんのJSPを見ると
JSPのPageタグで1.についても設定されてますし、2.もちゃんと書いているようです。

でよく見るとApacheと連携されているようですので。
そうすると、JSPのPageタグ情報がApacheのAddDefaultCharsetで
上書きされているような感じに見受けられます。

Apacheの初期設定ですとAddDefaultCharsetでISO-8859-1なので
それで文字化けされたのでしょう。
この設定を#でコメントアウト(その場合offと判断されます)するか
"off"とされますとうまく行くかもしれません。



Noda
常連さん
会議室デビュー日: 2005/06/14
投稿数: 21
投稿日時: 2005-08-08 14:23
Java僧さん、いっきゅうさんありがとうございます。
現在開発しているシステム以外にも影響が出るとまずいので、.htaccessのやり方でやろうと思います。

それで.htaccessの書き方ですが、
AddType "text/html; charset=Shift_JIS" .jsp
と指定して、認証のjspフォルダに入れたのですが、相変わらず文字化けです。
なにがまずいのですか?
Webを見て回っても、使用する.htaccessを配置したフォルダに(サブフォルダ)に影響をあたえるはずなのですが・・・
Noda
常連さん
会議室デビュー日: 2005/06/14
投稿数: 21
投稿日時: 2005-08-08 14:36
症状は、ソースの
response.setHeader("www-authenticate","basic realm=\"Acts Web 認証\"");
の「Acts Web 認証」の 「認証」という漢字が文字化けして認証ダイアログに表示されてしまうという現象です。



けむ
常連さん
会議室デビュー日: 2003/09/26
投稿数: 40
投稿日時: 2005-08-08 15:28
OSがWindowsではないみたいですが、文字コードはShift_JISで大丈夫でしょうか?

スキルアップ/キャリアアップ(JOB@IT)