摘要: 首先介绍几个名词: ODBC ODBC(Open Database Connectivity,开放数据库互连)是微软于1992年发布的提供一套标准API来访问数据库系统。这些API通过SQL完成任务,其本身也提供对SQL的支持,用户可以直接将SQL送给ODBC执行。 ODBC Driver ODBC 阅读全文
posted @ 2022-01-09 17:28 self.refactoring 阅读(448) 评论(0) 推荐(0) 编辑
摘要: 1. 单一职责原则 像函数一样,类应该尽量短小 每一个类应该有且仅有一条加以修改的理由。 系统应该由许多短小的类而不是少量巨大的类组成。每个小类封装一个职责。只有一个修改的原因,并与少量其它类一起协同达成期望的系统行为。 2.内聚 类应该只有少量实体变量。类中的每个方法都应该操作一个或者多个这种变量 阅读全文
posted @ 2020-12-30 21:32 self.refactoring 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 1. 短小 函数应该尽可能短小。每个函数20行封顶最佳。 2. 只做一件事(单一职责) 每个函数应该只做一件事,这样也可以保证函数尽可能短小。函数名字可以对代码进行自我描述。这样可读性会非常好。 3. 每个函数只做一个抽象层级的事 对于第二点 “一件事”的定义,每个人可能也有不同的理解。我们必须利用 阅读全文
posted @ 2020-12-28 17:49 self.refactoring 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 名副其实 选个好名字要花费时间,但省下来的时间比花掉的多。注意命名,而且一旦发现有更好地名称,就换掉旧的。名字一定需要符合其本意。 举例: 要表达消逝的时间,以日记。不好的命名: int d; 好的命名: int elapsedTimeInDays 获取订单项Id的韩函数: 不好的命名: List< 阅读全文
posted @ 2020-12-27 17:39 self.refactoring 阅读(73) 评论(0) 推荐(0) 编辑
摘要: OAuth2.0/OpenID 的Logout包括Authorization Server的Logout和Client的Logout。 Authorization Server的Logout Authorization Server的Logout其实很简单,仅仅是简单的清除Login Cookie即 阅读全文
posted @ 2020-08-13 22:12 self.refactoring 阅读(808) 评论(0) 推荐(0) 编辑
摘要: 授权码模式的过程大致是如下图所示: 在获取token的时候需要提供如下信息: 1. code 2. redirect_url, 3. client_id,client secret 第二项和第三项其实是用来对通过code获取token的client的合法性进行验证。其中最核心的应该是client s 阅读全文
posted @ 2020-08-09 11:32 self.refactoring 阅读(725) 评论(0) 推荐(2) 编辑
摘要: 在OAuth协议中,Resource Server是最终提供数据的部分。它要做的是对Client提供的access token进行身份验证,并基于access token里对用户权限的描述(scope,或其他自定义的权限claim,例如role)来赋予用户在Resource Server中对应的权限 阅读全文
posted @ 2020-08-05 22:36 self.refactoring 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章总结了Authorization Server, 这一篇总结一下Client端的实现。先看一下之前那幅图。 授权请求是由客户端触发的,客户端可以有很多种形式:MVC后端系统,前后端分离的SPA,移动端的Native App。这里以SPA和授权码模式作为例子。主要使用oidc-client库 阅读全文
posted @ 2020-07-28 22:09 self.refactoring 阅读(435) 评论(0) 推荐(0) 编辑
摘要: OAuth2.0是当下比较流行的开放授权协议。之前有写过一篇博客详细介绍过。Open Id Connect协议基于OAuth 2.0做了进一步加强,加入了更多的功能。 对于前后端分离架构下的Web应用整个OAuth授权过程如下: 图中的Authroization Server部分主要利用Identi 阅读全文
posted @ 2020-07-25 15:50 self.refactoring 阅读(374) 评论(0) 推荐(0) 编辑
摘要: IIS UrlRewrite是用来做请求重定向IIS Extension.(https://www.cnblogs.com/Code-life/p/13210399.html). 但是它只是做一个重定向,后续的处理依然由Web Server针对新的Url进行处理。其在IIS中的执行流程如下: 因此, 阅读全文
posted @ 2020-07-18 11:26 self.refactoring 阅读(625) 评论(0) 推荐(0) 编辑