复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB高级-10-安全性控制.

高级Web技术 Java 2 Enterprise Edtion
高级Web技术 Java 2 Enterprise Edtion

本次课程内容 安全性控制
本次课程内容 ◼ 安全性控制

Run-time Services- Security 安全控制级别 认证( Authentication) Who are you? 授权( Authorization) 判定某个个体( Principal)是否具有在特定资源上执行某 种操作的权限。 资源:网页、 Servlets、JSPs、EJBs等, Principals: 可以被验证身份
Run-time Services - Security ◼ 安全控制级别 ◼ 认证(Authentication) ◼ Who are you? ◼ 授权(Authorization) ◼ 判定某个个体(Principal)是否具有在特定资源上执行某 种操作的权限。 ◼ 资源:网页、Servlets、JSPs、EJBs等。 ◼ Principals: ◼ 可以被验证身份

典型的声明性安全性控制 在部署描述符中描述安全性控制: n在J2EE应用的部署描述符中定义应用所使用的安全性角色 在EJB模块中描述安全性规则(授权规则) 在Web模块中描述安全性规则(授权规则) 在Web模块中描述认证方式 部署时将定义的安全性角色映射到实际的安全域中 例子背景 银行应用 客户通过Web访问 servlet, servlet调用后台的EJB提供 的服务完成客户请求 在Web端进行认证、和授权控制 在EJB端进行授权控制
典型的声明性安全性控制 ◼ 在部署描述符中描述安全性控制: ◼ 在J2EE应用的部署描述符中定义应用所使用的安全性角色 ◼ 在EJB模块中描述安全性规则(授权规则) ◼ 在Web模块中描述安全性规则(授权规则) ◼ 在Web模块中描述认证方式 ◼ 部署时将定义的安全性角色映射到实际的安全域中 ◼ 例子背景 ◼ 银行应用 ◼ 客户通过Web访问servlet,servlet调用后台的EJB提供 的服务完成客户请求 ◼ 在Web端进行认证、和授权控制 ◼ 在EJB端进行授权控制

应用结构 New BankApp BankBeanJAR jar EJB AccountManager Session bean,完成银行账户管理员的任务,提供开户 存款、取款、查询余额等操作 EJB AccountBean Entity bean,对应数据库中的账户记录 EJB Log Bean Entity bean,对应日志库的日志记录,完成记录操作日志 的功能 BankWeb, war Servlet Bank Servlet 响应客户的HTTP请求,调用AccountManage的操作
应用结构 ◼ NewBankApp ◼ BankBeanJAR.jar ◼ EJB AccountManager ◼ Session bean,完成银行账户管理员的任务,提供开户、 存款、取款、查询余额等操作 ◼ EJB AccountBean ◼ Entity bean,对应数据库中的账户记录 ◼ EJB LogBean ◼ Entity bean,对应日志库的日志记录,完成记录操作日志 的功能 ◼ BankWeb.war ◼ Servlet BankServlet ◼ 响应客户的HTTP请求,调用AccountManage的操作

AccountManager的Home接口 package banking import java rmi RemoteException; import javax. ejb. * public interface AccountManagerHome extends EJBHome { public AccountManager create throws RemoteException, CreateException;
AccountManager的Home接口 package banking; import java.rmi.RemoteException; import javax.ejb.*; public interface AccountManagerHome extends EJBHome { public AccountManager create() throws RemoteException, CreateException; }

AccountManager的 Remote接口 package banking import javax. ejb. import java rmi K public interface AccountManager extends eJBobject public void deposit(String customerName, double amount) throws RemoteEXception public double withdraw(String customer Name double amount throws RemoteEXception, Insufficient FundsException; public double getBalance(string customerName) throws RemoteEXception; public double calculateInterest(String customer Name) throws Remote Exception: public Account createAccount(String customerName, double initialBalance) throws NoAccountCreated Exception, RemoteException; public void removeAccount(string customer Name) throws NoAccountCreated Exception, RemoteException;
AccountManager的Remote接口 package banking; import javax.ejb.*; import java.rmi.*; public interface AccountManager extends EJBObject { public void deposit(String customerName, double amount) throws RemoteException; public double withdraw(String customerName, double amount) throws RemoteException, InsufficientFundsException; public double getBalance(String customerName) throws RemoteException; public double calculateInterest(String customerName) throws RemoteException; public Account createAccount(String customerName, double initialBalance) throws NoAccountCreatedException, RemoteException; public void removeAccount(String customerName) throws NoAccountCreatedException, RemoteException; }

Servlet BankServlet //import 连续调用home接口的 create方法 public class Bankservlet extends Httpservlett remote接口的 getBalance方法、 public void doget(Http SermletrEquest req Http Servletred createaccount方法和 throws ServletException, IOEXception removeAccount方法 resp. setContentType("text/html") PrintWriter out= resp. getWritero out printIn (" \nGetDemo); accountManager. removeAccoutn newAccount) out.printlnc'removeAccount successfully catch ( out println (); out println (" ) out close
Servlet BankServlet //import ... public class BankServlet extends HttpServlet{ public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{ resp.setContentType("text/html"); PrintWriter out = resp.getWriter(); out.println("\nGetDemo\n""); try{ Context initial = new InitialContext(); AccountManagerHome accountManagerHome = (AccountManagerHome)PortableRemoteObject. narrow(initial.lookup("java:comp/env/ejb/AccountManager"), AccountManagerHome.class); AccountManager accountManager = accountManagerHome.create(); out.println(“name1’s balance is: “ + accountManager.getBalance(“name1”)); Account account = accountManager.createAccount(“newAccount", 1000.00f); out.println("createAccount successfully"); accountManager.removeAccoutn(“newAccount”); out.println(“removeAccount successfully"); }catch(...) out.println(""); out.println(""); out.close(); } } 连续调用home接口的create方法, remote接口的getBalance方法、 createAccount方法和 removeAccount方法

打包EJB模块 File Edit Tools Help ♀□Fes les Applica tio ns. NewBankApp Bank BeanJ AR 9口 Applications Genera es JNDI Na mes Relationships P◆ NewBan kApp JAR FIle Name ♀國 BankBeanJAR ejb-jar-ic jar O AccountBea O AccountManager Bean JAR Dis play Name BankBean JAR O LogBean 9鸥 Server a localhost o ntents □ META-INF 打包好的EB模块包含3个Bean AccountManagerBean Accountbear Log Bea L Descriptio Manifest G la Deployment
打包EJB模块 打包好的EJB模块包含3个Bean: AccountManagerBean AccountBean LogBean

打包Web模块 plication Deployment Too: New BankApp 囹eQ的圆国国圖凹 ♀□Fies lles Applica tions. NewBankApp BankYYe b 9口 Applications JNDI Na mes Resource Env, Refs Resource Refs SecurityRoles ♀佥 NewBankAl ♀③ ManWeb General Context Env. Entries EJB Refs Event Listeners File Refs Filter Mapping WAR File Name ariC war O AccountManagerBy WAR Display Name Banke 9 Servers e口WEB-|NF 打包好的Web模块仅包含一个 Servlet BankServlet L Description Advanced Settings
打包Web模块 打包好的Web模块仅包含一个 Servlet: BankServlet
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB开发-7-部署EJB应用.ppt
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB开发-6-创建客户程序.ppt
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB开发-5-编写Entity Bean.ppt
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB开发-4-创建Session EJB.ppt
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB基础-3-主要接口设计原则.ppt
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB基础-2-体系结构.ppt
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB基础-1-概述.ppt
- 复旦大学:《高级Web技术》3-应用web_3-J2EE-组件-服务-通讯_教学课件PPT_servletandjsp.ppt
- 复旦大学:《高级Web技术》3-应用web_3-J2EE-组件-服务-通讯_教学课件PPT_Java Naming and Directory Interface JNDI.ppt
- 复旦大学:《高级Web技术》3-应用web_3-J2EE-组件-服务-通讯_教学课件PPT_Java Message Service JMS.ppt
- 复旦大学:《高级Web技术》3-应用web_3-J2EE-组件-服务-通讯_教学课件PPT_javabean-javamail-tld-jdbc.ppt
- 复旦大学:《高级Web技术》3-应用web_2-J2EE概述_教学课件PPT_J2EE overview.ppt
- 复旦大学:《高级Web技术》3-应用web_1-分布式计算与中间件概述_教学课件PPT_分布式计算与中间件概述.ppt
- 复旦大学:《高级Web技术》2-Web上的数据标准-XML_6-XML应用_[07级]教学课件PPT_xml应用.ppt
- 复旦大学:《高级Web技术》2-Web上的数据标准-XML_5-XML链接语言-XLL_[07级]教学课件PPT_xml-xll.ppt
- 复旦大学:《高级Web技术》2-Web上的数据标准-XML_4-XML程序接口-java&XML_[07级]教学课件PPT_xml-java.ppt
- 复旦大学:《高级Web技术》2-Web上的数据标准-XML_3-XML转换标准-XSL_[07级]教学课件PPT_xml-xsl.ppt
- 复旦大学:《高级Web技术》2-Web上的数据标准-XML_2-XML描述和验证规范-DTD-SCHEMA_[07级]教学课件PPT_xml-schema.ppt
- 复旦大学:《高级Web技术》2-Web上的数据标准-XML_2-XML描述和验证规范-DTD-SCHEMA_[07级]教学课件PPT_xml-dtd.ppt
- 复旦大学:《高级Web技术》2-Web上的数据标准-XML_1-XML基础—概述与语法_[07级]教学课件PPT_XML改错.ppt
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB高级-11-JavaEE 5、EJB3.ppt
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB高级-8-资源管理与EJB环境.ppt
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB高级-9-事务处理.ppt
- 复旦大学:《高级Web技术》3-应用web_5-J2EE框架_spring_教学课件PPT_Introduction to Spring Framework.ppt
- 复旦大学:《高级Web技术》3-应用web_5-J2EE框架_教学课件PPT_J2EE模式与框架struts(J2EE模式与框架简介).ppt
- 复旦大学:《高级Web技术》4-Service web_1-SOA和WS概述_[07级]教学课件PPT_SOA Introduction.ppt
- 复旦大学:《高级Web技术》4-Service web_1-SOA和WS概述_[07级]教学课件PPT_Web Service概述.ppt
- 复旦大学:《高级Web技术》4-Service web_2-soap&wsdl&uddi_[07级]教学课件PPT_SOAP.ppt
- 复旦大学:《高级Web技术》4-Service web_2-soap&wsdl&uddi_[07级]教学课件PPT_Tomcat与SOAP&AXIS集成.ppt
- 复旦大学:《高级Web技术》4-Service web_2-soap&wsdl&uddi_[07级]教学课件PPT_UDDI.ppt
- 复旦大学:《高级Web技术》4-Service web_2-soap&wsdl&uddi_[07级]教学课件PPT_WSDL.ppt
- materials_5-语义web_Web Ontology Language:OWL.pdf
- materials_5-语义web_A Quick Introduction to OWL Web Ontology Language.ppt
- materials_5-语义web_RDF 入门 推荐标准 TransWiki - W3CHINA.ORG 开放翻译计划(OTP).doc
- 高级Web技术:RDF介绍.ppt
- materials_5-语义web_Languages for Semantic Web(台湾大同大學).ppt
- materials_5-语义web_SemanticWorks User and Reference Manual.pdf
- materials_5-语义web_Where are the Semantics in the Semantic Web.pdf
- materials_5-语义web_语义Web服务 Semantic Web Services.pdf
- Web3D_2-Web上的数据标准-XML_web3D 高级Web技术 Web3D.ppt