PDA

View Full Version : مشکل در راه اندازی تامکت در مد security برای حالت JDBCRealm



imanEsmaeili
سه شنبه 20 دی 1390, 16:45 عصر
من یک j2ee تست اپلیکیشن برای تست apache realm security نوشتم که اطلاعات کاربران را از db می خواند و فایل server.xml اپلیکیشنم به صورت زیر است:



<security-constraint>
<display-name>Constraints for first declarative application</display-name>
<web-resource-collection>
<web-resource-name>administration</web-resource-name>
<url-pattern>/administration/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>manager</role-name>
<role-name>member</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
<security-role>
<description/>
<role-name>manager</role-name>
</security-role>
<security-role>
<description/>
<role-name>member</role-name>
</security-role>
</security-constraint>
و در فایل server.xml خود آپاچی نیز تگ زیر را ایجاد کرده ام.

<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/securityTest"
connectionName="root"
ConnectionPassword="kbtsccs"
userTable="users"
userNameCol="username"
userCredCol="password"
userRoleTable="roles"
roleNameCol="rolename"
digest="MD5" />
در حالتی که تامکت را در حالت عادی اجرا می کنم پروژه بدون مشکل اجرا می شود اما وقتی تامکت را در حالت security اجرا می کنم(in security mode) با خطای زیر مواجه می شوم.

org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/catalina/realm/RealmBase
org.apache.jasper.servlet.JspServletWrapper.handle JspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:398)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknow n Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Un known Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.apache.catalina.security.SecurityUtil$1.run(Se curityUtil.java:269)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Unknown Source)
org.apache.catalina.security.SecurityUtil.execute( SecurityUtil.java:301)
org.apache.catalina.security.SecurityUtil.doAsPriv ilege(SecurityUtil.java:162)


)