Springsid4技术架构介绍1.0.pptx

  1. 1、本文档共101页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Springsid4技术架构介绍1.0

技术架构介绍 主讲人:张大伟 日期:2013-12-11;;3; ;WEB层技术实现;spring-mvc.xml样例;Controller样例;W关键技术-SpringMVC;;W关键技术-客户端与服务端校验;W关键技术- JQueryValidationPlugin;W关键技术-JSP/JSTL/Servlet Tips;W关键技术-AJAX;SERVICE层技术实现;applicationContext.xml分析;使用annotation定义事务;production环境;functional test 环境;local development环境;unit test环境;SpringIOC/AOP;用Profile 统一环境配置;配置方式;注入配置;AOP陷阱;Shiro Security;概 要; 2. 用户权限构造 另一个不同的地方是, SpringSecurity用户的权限在login时就构造好并保存在session中。如果中途改变用户或角色的权限,需要踢出后重登录才能生效。 而Shiro会在每次检验权限时才查询权限。当然,为了性能考虑,Shiro提供了起码两种权限缓存方案,详见后面的Caching小节。 ; 3.权限控制 权限控制分为页面内容,URL,和Java代码三层。 规则是页面内容用taglib,URL的控制在applicationContext.xml里配置,java代码用Annotation。 页面内容的控制保证了善良的用户不会点击自己无权限的功能。而对于恶意用户,在URL还是Java层(又分Controller或Service两层)进行校验可按实际需求而定。 在quickstart中,因为所有JSP都已经在WEB-INF/下保护起来,不可能被直接访问,所有的页面访问都要经过Controller,所以使用Annotation进行恶意用户保护达到的效果更好,URL级别只做用户是否登录的限制。 ;Step by Step;Step2. 实现一个AuthorizingRealm 查找用户AuthenticationInfo的函数,包括用户名、密码及Salt。查找权限的函数,Role与Permission均可,仅在CacheManager缓存不存在时被调用。一般密码不是明文存储的,需要在构造函数里指明密码匹配器,比如现在比较流行的,使用salt的,1024次 sha-1 hash 如果想在页面显示当前用户的更多信息,可以构造一个特定的用户对象,而不仅仅是用户的loginName,还可以包含id,display name等等. ; Step3. web.xml里ShiroFilter统统管起来 用Shiro filter管住/*,注意这里spring的DelegatingFilterProxy,需要在applcationContext-*.xml里定义一个与filter-name 同名的bean ; Step4. applicationContext-*.xml中的配置 最重要是ShiroFilter中filterChainDefinitions的配置,配置从上到下,以最上面的为准 详细的解释在这里: /web.html#Web-defaultfilters, quickstart中applicationContext-shiro.xml的配置如下: /login = authc /logout = logout /static/** = anon /** = user authc filter 监听/login的POST请求(Get的不管)进行登录认证。如果成功就跳回前一个页面 或者上面配的successfulUrl,如果失败就forward到login page,不过这时候就是POST的,那个打酱油的LoginController要注意。 logout filter 负责监听/logout,所以把退出登录的链接设为/logout即可 /static/** 这些静态图片都不需要监控,轻轻放过,然后后面几个link就需要permission控制了。 ;Step4. applicationContext-*.xml中的配置 /** = user 最后保证除上述url外的所有url都必须是已登录的,未登录的用户访问会跳转到登录页面。 另外RememberMe默认由cookie实现,有效时间一年,如果需要改变,配置新的RememberMeManager并注入SecurityManager. 注意URL Pattern里用到的是两颗星,才能实现任意层次的全匹配 其他可选的设置 ; Step5. JSP内容控制 /web.html#Web-taglib

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档