2012-04-30 34 views
5

Tôi đang cố gắng định cấu hình một vùng tệp đơn giản trong glassfish 3.1 theo sau tutorial:Làm thế nào để cấu hình glassfish 3.1 lĩnh vực tập tin bảo mật bằng cách sử dụng Netbeans 7.1?

Tôi đã làm mọi thứ như đã nói nhưng không hoạt động, khi tôi truy cập trang quản trị, tôi không thấy bật lên thông báo yêu cầu thông tin đăng nhập. Đây là những gì tôi đã làm:

1- Tạo một lĩnh vực file: enter image description here

2- Sau đó, tôi tạo một người dùng sử dụng nút quản lý người dùng enter image description here

3-Tôi đã tạo tệp glassfish-web.xml bằng giao diện đồ họa thay vì các biên tập viên enter image description here

4-Sau đó theo cùng một cách tôi đã định cấu hình web.xml enter image description here Xin lỗi nếu hình ảnh cuối cùng này hơi khó nhìn thấy, bạn có thể phóng to.

Khi tôi sử dụng URL để chuyển đến /admin.xhtml, không có gì ngăn tôi xem nội dung của trang, điều này có nghĩa là nội dung nào đó không được định cấu hình đúng. Tôi không biết mình đang thiếu gì. Ai đó có thể cho tôi một bàn tay cố gắng tìm ra lý do tôi không thể thực hiện nhiệm vụ bảo mật đơn giản này?

Cập nhật

đây nguồn web.xml của tôi

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 
    <context-param> 
     <param-name>javax.faces.PROJECT_STAGE</param-name> 
     <param-value>Development</param-value> 
    </context-param> 
    <servlet> 
     <servlet-name>Faces Servlet</servlet-name> 
     <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>Faces Servlet</servlet-name> 
     <url-pattern>/faces/*</url-pattern> 
    </servlet-mapping> 
    <session-config> 
     <session-timeout> 
      30 
     </session-timeout> 
    </session-config> 
    <welcome-file-list> 
     <welcome-file>faces/index.xhtml</welcome-file> 
    </welcome-file-list> 
    <security-constraint> 
     <display-name>Constraint1</display-name> 
     <web-resource-collection> 
      <web-resource-name>allowed</web-resource-name> 
      <description/> 
      <url-pattern>/admin.xhtml</url-pattern> 
     </web-resource-collection> 
     <auth-constraint> 
      <description/> 
      <role-name>administrator</role-name> 
     </auth-constraint> 
    </security-constraint> 
    <login-config> 
     <auth-method>BASIC</auth-method> 
     <realm-name>file</realm-name> 
    </login-config> 
    <security-role> 
     <description/> 
     <role-name>administrator</role-name> 
    </security-role> 
</web-app> 

và cũng glassfish-web.xml nguồn

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"> 
<glassfish-web-app error-url=""> 
    <security-role-mapping> 
    <role-name>administrator</role-name> 
    <group-name>admin</group-name> 
    </security-role-mapping> 
    <class-loader delegate="true"/> 
    <jsp-config> 
    <property name="keepgenerated" value="true"> 
     <description>Keep a copy of the generated servlet class' java code.</description> 
    </property> 
    </jsp-config> 
</glassfish-web-app> 

Về cơ bản những gì tôi muốn làm là có 2 loại người dùng. Những người chỉ duyệt qua index.xhtml và họ không có thông tin đăng nhập nào cả và các quản trị viên có thông tin đăng nhập của họ được lưu trữ trong tệp và được yêu cầu cho họ khi truy cập admin.xhtml

Tôi không hiểu những gì còn thiếu. Tôi có cần tạo đặc quyền đặc biệt cho người dùng khách nói rằng họ có thể xem index.xhtml không?

+0

Bạn có thể không có thể được sử dụng Netbeans 3.1 có thể bạn? Uber cổ Netbeans 5 đã xuất hiện cách đây hơn 6 năm. – jahroy

+1

@jahroy Hehe ... up tôi đã phạm sai lầm trong tiêu đề câu hỏi :) Chắc chắn tôi sử dụng Netbeans 7.1 – sfrj

+0

Bạn đã thử khởi động lại glassfish và undeploy/triển khai ứng dụng của bạn? Nếu điều đó không giúp cẩn thận xem xét thông qua nhật ký khởi động glassfish cho bất kỳ thông điệp liên quan đến lĩnh vực của bạn (nó ít nhất phải được đề cập nếu không glassfish không chọn nó lên).Nó có thể hữu ích nếu bạn đăng nguồn của web.xml. – Eelke

Trả lời

6

Giả sử admin.xhtml của bạn là trang JSF sau đó vì ánh xạ JSF của bạn là/faces/* bạn đang mở nó thông qua một URL như http: // localhost: 8080/[Project /] faces/admin.xhtml. Điều này không phù hợp với /admin.xhtml

Thay thế:

<url-pattern>/admin.xhtml</url-pattern> 

với

<url-pattern>/faces/admin.xhtml</url-pattern> 
+0

Vâng đó là sai lầm. Cảm ơn bạn rất nhiều. – sfrj

Các vấn đề liên quan