《高级Web技术》参考资料:3-应用web_4-EJB_EJB高级-10-安全性控制.

高级Meb技术 J阳a2 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_EJB开发-7-部署EJB应用.ppt
- 《高级Web技术》参考资料:3-应用web_4-EJB_EJB开发-6-创建客户程序.ppt
- 《高级Web技术》参考资料:3-应用web_4-EJB_EJB开发-5-编写Entity Bean.ppt
- 《高级Web技术》参考资料:3-应用web_4-EJB_EJB开发-4-创建Session EJB.ppt
- 《高级Web技术》参考资料:3-应用web_4-EJB_EJB基础-3-主要接口设计原则.ppt
- 《高级Web技术》参考资料:3-应用web_4-EJB_EJB基础-2-体系结构.ppt
- 《高级Web技术》参考资料:3-WS与工作流_4-Service web_BPELOverview.pdf
- 《高级Web技术》参考资料:2-Web上的数据标准-XML_XML基础—概述与语法.pdf
- 《高级Web技术》参考资料:2-soap&wsdl&uddi_4-Service web_WSDL.ppt
- 《高级Web技术》参考资料:2-soap&wsdl&uddi_4-Service web_UDDI.ppt
- 《高级Web技术》参考资料:2-soap&wsdl&uddi_4-Service web_Tomcat与SOAP&AXIS集成.ppt
- 《高级Web技术》参考资料:2-soap&wsdl&uddi_4-Service web_SOAP.ppt
- 《高级Web技术》参考资料:1-webapp outline_雅蛙网站的使用体验及对WEB2.0的认识.doc
- 《高级Web技术》参考资料:1-webapp outline_离线Web技术在医疗业务应用的设想与尝试.docx
- 《高级Web技术》参考资料:1-webapp outline_拥抱Web3.0.pdf
- 《高级Web技术》参考资料:1-webapp outline_what is web2.0.docx
- 《高级Web技术》参考资料:1-webapp outline_web app outline Web 技术概述.ppt
- 《高级Web技术》参考资料:1-webapp outline_web app outline Web 技术概述.pdf
- 《高级Web技术》参考资料:1-webapp outline_Planetary-Scale Views on a Large Instant-Messaging Network.pdf
- 《高级Web技术》参考资料:1-SOA和WS概述_4-Service web_Web Service概述及其应用.ppt
- 《高级Web技术》参考资料:3-应用web_4-EJB_EJB高级-11-EJB3..ppt
- 《高级Web技术》参考资料:3-应用web_4-EJB_EJB高级-8-资源管理与EJB环境.ppt
- 《高级Web技术》参考资料:3-应用web_4-EJB_EJB高级-9-事务处理.ppt
- 《高级Web技术》参考资料:应用web - EJB 3RD EDITION - Richard Monson-Haefel.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_Hibernate-课件.ppt
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_J2EE模式与框架struts(2).ppt
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_Spring Introduction.ppt
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_ajax+J2EE_ajax.ppt
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_ajax+J2EE_Ajax介绍.ppt
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_ajax+J2EE_DWR_ch03.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_ajax+J2EE_DWR_ch05.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_ajax+J2EE_materials_ajax first essay.doc
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_ajax+J2EE_materials_Ajax in action中文版.doc
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_ajax+J2EE_materials_AJAXBasics.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_ajax+J2EE_materials_AJAXBasics_speakernoted.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_ajax+J2EE_materials_GWT.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_ajax+J2EE_materials_GWT_speakernoted.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_ajax+J2EE_materials_How_to_Design_a_large_AJAX_Application.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_ajax+J2EE_materials_开发保留标准浏览器功能的AJAX应用程序.doc
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE_Patterns.ppt