14安全性.pptVIP

  • 1
  • 0
  • 约2.96千字
  • 约 16页
  • 2018-10-19 发布于浙江
  • 举报
14安全性

安全性 WEB的安全性 WEB应用的认证需求在web.xml部署描述符中指定 HTTP BASIC认证基于用户名和密码的认证,存储在HTTP请求头中。密码没有加密处理,协同SSL使用。 基于表单的认证 HTTPS客户认证 Realm-安全性域,用文件或证书进行验证 Role-角色,主体属于什么角色,e.g.经理,职员 Principal-主体,要验明的身份 Subject-认证信息存储在Subject对象中,凭此完成其它安全性操作。 建立页面 打开web.xml,选择基本认证或表单认证。 SAS中设置管理域,建立用户和组。BeanUser/user 在sun-web.xml完成服务器中用户和真正安全角色的映射 security-role-mapping role-nameclerk/role-name principal-name BeanUser /principal-name group-name user /group-name /security-role-mapping 基于表单的认证 login-config auth-methodFORM/auth-method form-login-config form-login/form-login form-error/form-error /form-login-config /login-config JAAS概述 LoginContext 登录上下文 Subject 认证信息存储在此 EJB的安全性 编程式授权 sun-ejb-jar.xml security-role-mapping role-nameadmin/role-name principal-name BeanUser /principal-name principal-nameMary/principal-name group-name user /group-name /security-role-mapping ejb.jar enterprise-beans session ejb-name… /ejb-name ejb-class … /ejb-class security-role-ref role-namemanager/role-name role-linkadmin/role-link /security-role-ref /session /enterprise-beans 抽象的安全性角色表示用户身份的集合,对客户调用EJB业务方法进行授权。 部署者将抽象的安全性角色关联到真正的安全性角色,不必把具体身份编码到EJB组件代码中。 @Stateless @DeclareRoles({“manager”}) public class SecBean{ @Resource private SessionContext sc; public String getSecInfo(){ if(sc.isCallerInRole(“manager”)){ String principal=sc.getCallerPrincipal().getName(); return principal; } return sc.getCallerPrincipal().getName()+“ has no right”; } 声明式授权 @Statelss @RolesAllowed({“administrators”}) public class EmployeeManageBean{ @RolesAllowed({“employee”}) public String modify(){//让此角色执行相应操作} @PermitAll public String getName(){//任何客户可以操作} @DenyAll public String modify(){} } 安全性传播 安全性上下文封装了当前调用者的安全性状态。EJB容器透明地传播

文档评论(0)

1亿VIP精品文档

相关文档