读书笔记,原文链接:http://www.cnblogs.com/loveis715/p/4669091.html,感谢作者! Authentication REST提倡无状态约束,这就要求:用户状态需要全部保存在客户端.当用户需要执行某个操作时,需要将所有的执行该请求所需要的信息添加到请求中.该请求将可能被REST服务集群中的任意服务器处理,而不需要担心该服务器中是否存有用户相关的状态. 但在现有的各种基于HTTP的Web服务中,我们常常用会话来管理用户状态,至少是用户的登陆状态.因此,RES…
读书笔记,原文链接:http://www.cnblogs.com/loveis715/p/4669091.html,感谢作者! 版本管理 在前面已经提到过,一个REST系统为资源所抽象出的URI实际上是对用户的一种承诺.但反过来说,软件开发人员也很难预知一个资源的各方面特征如何在未来发生变化,从而提供一个永远不变的URI. 在一个REST系统逐渐发展的过程中,新的属性,新的资源将逐渐被添加到该系统中.在这些更改过程中,资源的URI,访问资源的动词,响应中的Status Code将不能发生变化.此…
读书笔记,原文链接:http://www.cnblogs.com/loveis715/p/4669091.html,感谢作者! 1.REST是一种架构风格,其核心是面向资源,简化设计,降低开发的复杂性,提高系统的可伸缩性. REST设计概念和准则为: a.网络上的所有事物都可以被抽象为资源,通过统一资源标识符(URI)来识别和定位资源.每个资源都有唯一的资源标识,对资源的操作不会改变这些标识 b.REST设计架构遵循CRUD原则,针对这些资源执行的操作使用请求方法,如:           ◆P…
读书笔记,原文链接:http://www.cnblogs.com/loveis715/p/4669091.html,感谢作者! 一.资源表示 1.资源表示:使用 单数 vs. 复数 如果一个URL所对应的资源是使用复数表示的,那么该类型的资源可能有多个.对该URL发送Get请求可能返回该资源的一个列表.如果一个URL所对应的资源是使用单数表示的,那么该类型的资源将只有一个,对该URL发送Get请求将只返回该资源的一个实例. 举例来说,一个网站所售卖的商品可能有多种类别,因此需要在URL中使用复数…
读书笔记,原文链接:http://www.cnblogs.com/loveis715/p/4669091.html,感谢作者! restful风格的设计中,首先要识别系统中的资源,然后用HTTP规范表示这些资源. 一.资源识别 1.以资源为中心 vs 以动作为中心 1.1.以动作为中心 在传统的软件分析设计中,常常要分析业务要使用的业务逻辑,并为业务逻辑的执行提供一系列接口.如:将商品放入购物车,提交订单等.这一系列接口组合在一起就可以组成完成目标所需要执行的业务逻辑.在需要调用这些接口的时候,…
读书笔记,原文链接:http://www.cnblogs.com/loveis715/p/4669091.html,感谢作者! 一.需求描述 当用户在某个电子商务网站购物时,他首先查看要购买的商品分类,然后选择某个商品,查询其明细信息. 用户查询商品分类列表,系统显示商品分类列表(食品.服装.电器.文具.玩具) 用户选择分类明细,查询分类(佳宝.黑牛) 用户选择查看分类下的商品列表,系统显示分类下的商品列表(酸奶,纯牛奶) 二.业务流程 1.商品分类列表请求(食品.电器.文具.玩具) 1.1.请…
用户认证与会话管理基本上是每个网站必备的一个功能.在Asp.net下做的比较多,大体的思路都是先根据用户提供的用户名和密码到数据库找到用户信息,然后校验,校验成功之后记住用户的姓名和相关信息,这个信息经过处理之后会保存在cookie.缓存.Session等地方,然后还有一个过期时间,避免每次都要去捞数据库.在node下基本上也是这个思路,这一节的内容会涉及到user模型的加密方式.如何生成一个Json Web Token(JWT).以及在客户端用Angular创建注册和登录页面,在请求需要认证的…
设置cookie HTTP协议是无状态的,在一次请求响应结束后,服务器不会留下关于客户端状态的信息.但是对于某些web程序来说,客户端的信息有必要被记住,比如用户的登录状态,这样就可以根据用户的状态来返回不同的响应.为了解决这个问题就有cookie技术 .cookie技术通过在请求和响应报文中添加cookie数据来保存客户端的状态信息. cookie值web服务器为了存储用户信息而保存在浏览器的文本数据.浏览器在一定时间内保存它,在下一次请求服务器时会附带这个cookie数据.cookie通常被…
前言 用户权限管理很重要,只给需要的权限,防止应用系统漏洞导致脱库 认证和授权 Authentication 认证识别,解决我是谁 Authorization 操作授权,我能做什么 认证机制 MONGODB-CR 官方自定义实现认证机制,通过用户名和密码,通过challenge-response方式,来识别和验证授权.SCRAM-SHA-1认证机制有更好的安全性,新版本默认使用SCRAM-SHA-1.不建议使用MONGODB-CR模式. SCRAM-SHA-1 3.0版本新加功能,Mongodb…
创建一个web动态项目 jar包 web.xml web.xml做了如下几件事情1. 指定spring的配置文件有两个 applicationContext.xml: 用于链接数据库的 applicationContext-shiro.xml: 用于配置shiro的 2. 指定springmvc的配置文件 springMVC.xml 3. 使用shiro过滤器 <filter-class>org.springframework.web.filter.DelegatingFilterProxy&…