Thứ Ba, 9 tháng 9, 2014

Java EE Security

1:Authentication



  - Authentication là quá trình xác thực, nhằm xác định một tài khoản đang vào hệ thống. Nếu không có quá trình xác thực này, hệ thống của bạn sẽ không biết được tài khoản đang truy cập là ai để có các phản hồi phù hợp
 -Cụ thể trong ứng dung sử dụng EJP, các server trong EJP sẽ xác thực tài khoản đang đăng nhập thuộc kiểu tài khoản này và các thao tác mà tài khoản đó có quyền thực hiện
 -Có 2 cach xác thực:
   +Digital certificates có thể được sử dụng để xác định người dùng cuối cùng, máy chủ, và các thành phần phần mềm khác.
   +Digital certificate-based authentication có thể được sử dụng trên các máy chủ, khách hàng, hoặc cả hai, tùy thuộc vào nhu cầu của ứng dụng

2: Access Control Lists (ACLs)
   -Một cách để kiểm soát truy cập cho người sử dụng trong một ứng dụng
   -Một tập tin ACL được tạo thành các mục, có chứa một tập hợp các quyền cho một tài nguyên cụ thể và một tập hợp các người dùng có thể truy cập vào các tài nguyên.

3:Realms


-Realms là một cơ sở dữ liệu đầy đủ của người sử dụng và nhóm người sử dụngnhằm  xác định giá trị của một ứng dụng web và được kiểm soát bởi chính sách xác thực như nhau.
-The Java EE server authentication service có thể quản lý người sử dụng trong nhiều lĩnh vực so với các lĩnh vực tập tin, quản trị, lĩnh vực, và lĩnh vực chứng

4:Users and Principals
-Một user là một cá nhân được quy định tại các máy chủ ứng dụng
-Kiến trúc bảo mật J2EE không đối phó với user nhận dạng trực tiếp. Nó liên quan đến danh tính người dùng trừu tượng.

5:Groups and Roles

 -Groups là một tập hợp các người dùng xác thực, phân loại theo đặc điểm phổ biến, được định nghĩa trong máy chủ ứng dụng.
 -Roles là hình thức trừu tượng của nhóm.
 -Roles là một cách cụ thể mà người dùng có thể tương tác với một ứng dụng và nó cũng xác định các quyền truy cập mà người dùng phải có để thực hiện tương tác này
-Từ roles, ta thực sự biết người dùng là ai và vai trò của người dùng

6:Managing Users

-Users, groups, and roles được quản lý bởi các máy chủ ứng dụng
-Một ứng dụng sẽ nhắc người dùng nhập tên đăng nhập và mật khẩu của họ trước khi cho phép họ truy cập vào một tài nguyên được bảo vệ
-Sau đó, ứng dụng chuyển thông tin đến máy chủ.

7: Roles in EJB development

-Bean provider: Người cung cấp cái bean đó
-Application assembler : Người đóng gói ứng dụng lại
-Deployer: Sau khi đóng gói rồi thì sẽ triển khai cái ứng dụng đó trên server tương ứng
-Product provider: Người phát triển sản phẩm sau khi được khai triển
-Systen administrator: Người quản trị hệ thống

Nhận xét:
-Authentication là bước ban đầu của mọi hệ thống có yếu tố người dùng.
-Digital certificates cung cấp một hình thức mạnh mẽ hơn
-Server của EJB được tổ chức rất cao

Describe overview of technologies of Java EE & EJB

I: Java EE

  1: Thế nào là Java EE


     - Là nền tảng (platform , còn gọi tắt là J2EE) mở, chuẩn để phát triển, triển khai, và quản lý các ứng dụng doanh nghiệp hướng thành phần , ứng dụng Web, Server

  2: Tại sao lại dùng Java EE
     -Với developers
          +có thể sử dụng bất kỳ J2EE implementation để phát triển và triển khai
          +có rất nhiều tài nguyên trong cộng đồng J2EE
          + Sử dụng các thành phần có sẵn của bên thứ 3
     -Với Vendors
          +tự do sáng tạo trong cài đặt mà vẫn đảm bảo tính phổ biến của ứng dụng
          +không cần create/maintain các APIs cho riêng mình
     -Với Business Customer
          +đảm bảo tính phổ biến của ứng dụng
          +có nhiều thực thi để lựa chọn
          +rất nhiều công cụ để phát triển

   3: J2EE APIs
     -Java 2 Standard Edition (J2SE)
     -Java Database Connectivity (JDBC)
     -RMI-JRMP – Remote Method Invocation (RMI)
     -Java Interface Definition Language (Java IDL)
     -Remote Method Invocation – Internet Inter- ORB Protocol (RMI-IIOP)
     -Enterprise JavaBean (EJB)
     -Servlet
     -Java Server Page (JSP)
     -Java Message Service (JMS)
     -Java Naming and Directory Interface (JNDI)
     -Java Transaction API (JTA)
     -JavaMail
     -JavaBean Activation Framework (JAF)

  4:Các thành phần của J2EE


       J2EE được xây dụng trên một mô hình container component. Bốn container component cốt lõi  liên        quan đến bốn kiểu container được hỗ trợ trong J2EE bao gồm, Application Client, Applet, Web và EJB:

     -Java Application – là 1 chương trình chạy bên trong Application Client container. Application Client container cung cấp những APIs hỗ trợ cho messaging, remote invocation, database connectivity và lookup service
     -Applet – Applet component là java applet chạy bên trong Applet container, chính là web browser có hỗ trợ công nghệ Java.
      -Servlet và JSP – đây là Web-based component chạy ở bên trong Web container. Web container là một môi trường run-time cho servlet và jsp để cung cấp một cơ chế cho việc chuẩn bị, xử lý, định dạng nội dung động
      - Enterprise JavaBean (EJB) – EJB component là business component chạy bên trong EJB container. EJB component là phần nhân, cốt lõi của ứng dụng J2EE. EJB container cung cấp các dịch vự quản lý transaction, bảo mật, quản lý trạng thái, quay vòng tài nguyên (resource pooling)

5:Vai trò của J2EE
     -J2EE cung cấp các dịch vụ, các hàm giao tiếp(API) và các giao thức để triển khai các ứng dụng đa tầng.
     -J2EE Framework cho phép phát triển những ứng dụng distributed bằng cách cung cấp 1 tập các dịch vụ cơ bản như quản lý transaction, kiểm tra security, quản lý trạng thái, quản lý tài nguyên

Nhận xét
-Java EE là cho phép chúng ta xây dựng ứng dụng tốn rất ít công sức.
-Java EEcó  rất nhiều các công cụ mã nguồn mở hữu ích cho phép mở rộng nền tảng hay đơn giản hóa quá trình phát triển ứng dụng
-Tuy nhiên, người ta không dùng Java EE để lập trình ứng dụng game

install glassfish 4 as a windows service


Để cài đặt và cấu hình cho GlassFish các bạn làm theo video hướng dẫn của thầy Phạm Anh Đới qua video sau:
Và sau đây là kết quả: