前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《Spring实战》摘录 - 16

《Spring实战》摘录 - 16

作者头像
用户1335799
发布2019-05-13 19:28:22
4690
发布2019-05-13 19:28:22
举报
151

问题:#8.2.1-2 | Spring中,行为状态,指的什么?

回答:视图状态会涉及到流程应用程序的用户,而行为状态则是应用程序自身在执行任务。行为状态一般会触发Spring所管理bean的一些方法并根据方法调用的执行结果转移到另一个状态

152

问题:#8.2.1-3 | 当到达<end-state>状态,流程会结束。接下来会发生什么取决于几个因素

回答:

  • 如果结束的流程是一个子流程,那调用它的流程将会从<subflow-state>处继续执行。<end-state>的ID将会用作事件触发从<subflow-state>开始的转移。
  • 如果<end-state>设置了view属性,指定的视图将会被渲染。视图可以是相对于流程路径的视图模板,如果添加“externalRedirect:”前缀的话,将会重定向到流程外部的页面,如果添加“flowRedirect:”将重定向到另一个流程中。
  • 如果结束的流程不是子流程,也没有指定view属性,那这个流程只是会结束而已。浏览器最后将会加载流程的基本URL地址,当前已没有活动的流程,所以会开始一个新的流程实例。

153

问题:#8.2.2-1 | spring中,用on属性来指定触发转移的事件,xml如何配置

回答:

视图状态,事件通常会是用户采取的动作。在行为状态,事件是评估表达式得到的结果。而在子流程状态,事件取决于子流程结束状态的ID。在任意的事件中(这里没有任何歧义),你可以使用on属性来指定触发转移的事件

代码语言:javascript
复制
<transition on="phoneEntered" to="lookupCustomer"/>

154

问题:#8.2.3-1 | Spring Web Flow的作用域

回答:

  • Conversation --- 最高层级的流程开始时创建,在最高层级的流程结束时销毁。被最高层级的流程和其所有的子流程所共享。
  • Flow --- 当流程开始时创建,在流程结束时销毁。只有在创建它的流程中是可见的。
  • Request --- 当一个请求进入流程时创建,在流程返回时销毁。
  • Flash --- 当流程开始时创建,在流程结束时销毁。在视图状态渲染后,它也会被清除。
  • View --- 当进入视图状态时创建,当这个状态退出时销毁。只在视图状态内是可见的。

155

问题:#9.1-1 | Spring Security是什么

回答:Spring Security是为基于Spring的应用程序提供声明式安全保护的安全性框架

156

问题:#9.1-1 | Spring Security从两个角度来解决安全性问题,分别是

回答:

  • 它使用Servlet规范中的Filter保护Web请求并限制URL级别的访问。
  • Spring Security还能够使用Spring AOP保护方法调用——借助于对象代理和使用通知,能够确保只有具备适当权限的用户才能访问安全保护的方法。

157

问题:#9.1.1-1 | Spring Security被分成了11个模块

回答:

  • ACL --- 支持通过访问控制列表(access control list,ACL)为域对象提供安全性
  • 切面(Aspects) --- 一个很小的模块,当使用Spring Security注解时,会使用基于AspectJ的切面,而不是使用标准的Spring AOP
  • CAS客户端(CAS Client) --- 提供与Jasig的中心认证服务(Central Authentication Service,CAS)进行集成的功能
  • 配置(Configuration) --- 包含通过XML和Java配置Spring Security的功能支持
  • 核心(Core) --- 提供Spring Security基本库
  • 加密(Cryptography) --- 提供了加密和密码编码的功能
  • LDAP --- 支持基于LDAP进行认证
  • OpenID --- 支持使用OpenID进行集中式认证
  • Remoting --- 提供了对Spring Remoting的支持
  • 标签库(Tag Library) --- Spring Security的JSP标签库
  • Web --- 提供了Spring Security基于Filter的Web安全性支持

158

问题:#9.1.2-1 | DelegatingFilterProxy是一个特殊的Servlet Filter,作用是什么?

回答:它本身所做的工作并不多。只是将工作委托给一个javax.servlet.Filter实现类,这个实现类作为一个<bean>注册在Spring应用的上下文中,如下图所示。

DelegatingFilterProxy把Filter的处理逻辑委托给Spring应用

上下文中所定义的一个代理Filter bean

159

问题:#9.1.2-2 | AbstractSecurityWebApplicationInitializer工作原理?

回答:AbstractSecurityWebApplicationInitializer实现了WebApplication-Initializer,因此Spring会发现它,并用它在Web容器中注册DelegatingFilterProxy。尽管我们可以重载它的appendFilters()或insertFilters()方法来注册自己选择的Filter,但是要注册DelegatingFilterProxy的话,我们并不需要重载任何方法。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 怀英的自我修炼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档