Ruby Middleware

Rack官网对于Rack的介绍比较简单,只是介绍了Rack的作用和基本的使用。虽然我们不用了解middleware的调用原理也可以开发出能使用的middleware,但是总有点不知所以然的感觉,所以抽空总结了下Rack中middleware的调用原理。 »

Algorithm

«漫画算法»是一本偶然间发现的算法书,算是一份意外的收获吧。之前看到的很多书荐,买来都吃灰了也没翻过,这本算法书是第一次看完,小小总结一下。 »

Rails Cookie Session

上一节介绍了warden是如何验证用户的登录授权身份,但是对于cookie和session之间是如何生成的,是如何产生关联的,然后是怎么通过保存session数据到cookie中的还有点模糊。总结分享下Rails中是如何处理cookie和session的。 »

Ruby Warden

目前项目遇到个需求,一期用devise做登陆的后台,在做二期的时候需要可以通过一期的cookie,带到用api(grape)做鉴权的子系统中去。这时候需要做的是保证在子系统中能把cookie正确解析出来,而且需要验证解析出来的cookie的信息是否是正确的,这时就需要了解devise依赖的warden是怎么设置用户鉴权cookie值的。周末有时间了解了一下devise和warden实现的细节问题,记录一下这个过程。 »

Cancancan 的实现原理

用了几年的cancancan,说起来有些尴尬。明明是也是用基本的代码写出来的,可是却不知道是怎么搭建起来的。用的时候去查看文档,每次都要使用在controller中能找到current_user方法,需要定义一个初始的Ability Model,然后定义各种各样的can方法,然后在每个需要权限的地方用can?去判断,更具有魔力的是controller方法中直接添加 load_and_authorize_resource 就可以判断权限了,不需要做其它的判断,各种各样的黑魔法。每每想起这些都觉得有点慌,使用的时候只要功能运行成功了就私自窃喜,满满的成就感,谁知道那只是大脑的一种欺骗。其实只是用对了,对于其中是怎么发生的,始终不知所以然。由于现在开发的系统对cancancan依赖的比较大,总结一些其中实现的原理。 »