Browsed by
Category: tech

Nas服务器从入门到放弃

Nas服务器从入门到放弃

10月份的时候有空,刚好云服务器到期,便想自建一个nas服务器,提供文件、流媒体、CI/CD等服务,如果自己能够建起一套一键安装的软件套装和集成一个一键开机的nas产品,那是很不错的。于是在github上找了个ansible-nas放到本地来玩。 主要是在周末投入几个小时来搞,目前算是正式上线了。 一路摸索过来,发现软件配套是可以的,硬件配套也是可以的,但是一键安装和一键开机是没有的。主要是因为以下原因: 这里列几个成本高具体案例: 产品最终成型的流水线太长了。成本高企。 不如做成盒子,各类服务一个独立小盒子,接上路由器就用。

A simple ansible project

A simple ansible project

install ansible on Ubuntu18.04 2. ansible general ad-hoc command format 3. list all ansible modules 4. basic concepts of ansible 5. ansible parallerism 6. ansible facts 7. playbook setctions

One Way to Turn WordPress Plugin into MVC Architect and developing with OOP 转换wordpress插件为MVC架构并用面向对象开发的一种方法 ワードプレスプラグインをMVCアーキテクチャに変換し、オブジェクト指向開発を使用する方法

One Way to Turn WordPress Plugin into MVC Architect and developing with OOP 转换wordpress插件为MVC架构并用面向对象开发的一种方法 ワードプレスプラグインをMVCアーキテクチャに変換し、オブジェクト指向開発を使用する方法

Basically speaking, I hate developing on wordpress as it is not modern enough or say not using modern techniques like composer, oop. Fortunately after studying a few modern themes and…

Read More Read More

SOLID in PHP

SOLID in PHP

https://www.script-tutorials.com/design-patterns-in-php/ https://nicole929chan.wordpress.com/category/solid/ https://nicole929chan.wordpress.com/category/tdd-%E7%B7%B4%E7%BF%92/

RBAC in depth & a practical way of microservice API authorization

RBAC in depth & a practical way of microservice API authorization

原文链接:https://blog.csdn.net/zwk626542417/article/details/46726491 RBAC是Role-BasedAccess Control的英文缩写,意思是基于角色的访问控制。RBAC认为权限授权实际上是Who、What、How的问题。在RBAC模型中,who、what、how构成了访问权限三元组,也就是“Who对What(Which)进行How的操作,也就是“主体”对“客体”的操作,其中who——是权限的拥有者或主体(如:User、Role),what——是资源或对象(Resource、Class)     RBAC其实是一种分析模型,主要分为:基本模型RBAC0(Core RBAC)、角色分层模型RBAC1(Hierarchal RBAC)、角色限制模型RBAC2(Constraint RBAC)和统一模型RBAC3(Combines RBAC)。 RBAC2: 案例:     先大概解释下我们的业务,我们做的是教育行业高校云平台,每个学校都可以在我们平台进行注册,注册完成后可以享受一些基础的服务,当然了不同级别的用户享受的基础服务是不同的,这些基础的服务包括新生注册管理、基础系统管理、考试系统管理、评教系统管理等模块,每个模块都相当于一个子系统,每个子系统都有各自的功能,每个功能也都有各自的相关的页面,而所有的子系统、页面以及页面上的功能按钮都是需要我们权限进行管理,所以我们的权限管理相对来说任务也是比较繁重的。 许可我一般称它为权限,它包括控制对象和操作,控制对象一般为资源,包括菜单、页面、文件等资源,而操作一般包括增删改查等,图中“系统操作”就是操作,“菜单信息”就是控制对象;     菜单信息中的每个菜单都会有增删改查等操作,所以菜单信息与系统操作是一对多的关系。     我们给角色授予权限时,授予就是颗粒最小的权限,所以我们将系统操作权限授予某些角色。一个角色可以拥有多个系统操作,一个系统操作同样也可以属于多个角色,所以系统操作和角色为多对多的关系。 进一步的细化深化: 完整的RBAC模型: Microservices API RBAC model: 如果把微服务化后的所有api接口都定义为上文的Resources,那么我们可以看到这么一个情况。案例: Authorization on API gateway: Authorization on microservice itself: Solution…

Read More Read More

Laravel5 tips

Laravel5 tips

helpers: logger() 或者 Log门面Illuminate\Log\Logger 你可以使用 Log 门面记录日志信息,如上所述,日志系统提供了定义在 RFC 5424 规范中的八种日志级别:emergency、alert、critical、error、warning、 notice、info 和 debug: Path helpers: Str::slug() Arr:has() Str::uuid() Arr::pluck()

Micro-services Authentication and Authorization

Micro-services Authentication and Authorization

在微服务架构下,要考虑外部应用接入的场景、 用户 – 服务的鉴权、 服务 – 服务的鉴权 等多种鉴权场景。 统一身份管理(UIM)是整个平台帐号和权限管控的基础,由此构建的系统称为UIMS(Unified Identity Management System),平台下所有系统的账户管理、身份认证、用户授权、权限控制等行为都经由 UIMS 处理,提供帐号密码管理、基本资料管理、角色权限管理等功能。UIMS 基于『统一身份治理』的概念,可划分为两级账户体系、基础权限模块和基础信息模块三大模块。其中两级账户体系将账户分为组织实体帐号和个人实体账户两大类,个人实体从属于组织实体,也可以不从属任何组织实体,且个人实体可同时从属于多个组织实体;基础权限模块将各业务系统的资源权限进行统一管理和授权;基础信息模块用于描述组织实体和个人实体的基本信息,如组织实体名称、地址、法人,个人实体姓名、电话号码、性别等基础信息。UIMS 提供统一的 API 与各子系统连接。 问题: 目前,接入各个业务线的用户系统数量多类型复杂,且数据分散,比如有公司的员工系统(LDAP系统),公司的销售人员系统,公司的外包人员系统,外部互联网用户系统(使用APP的客户)。 不同类型的用户系统都有可能接入某些微服务,那么如何用权限系统去控制不通用户对同一个微服务的调用,对我们来说,又是一个挑战。 解决方案: Authentication: SSO: 共享存储的Session: 客户端 Token 方案: 客户端 Token…

Read More Read More

Eloquent ORM cheatsheet

Eloquent ORM cheatsheet

Defining model in Laravel Overide default database table name Overide default database table primary key Time stamps 时间戳 指定数据库连接 获取模型数据 Query Scopes /范围查询

@ViewChild(‘myname’, {read: ViewContainerRef}) target : ViewContainerRef;

@ViewChild(‘myname’, {read: ViewContainerRef}) target : ViewContainerRef;

所支持的选择器包括: 任何带有 @Component 或 @Directive 装饰器的类 字符串形式的模板引用变量(比如可以使用 @ViewChild(‘cmp’) 来查询 <my-component #cmp></my-component> 组件树中任何当前组件的子组件所定义的提供商(比如 @ViewChild(SomeService) someService: SomeService ) 任何通过字符串令牌定义的提供商(比如 @ViewChild(‘someToken’) someTokenVal: any ) TemplateRef(比如可以用 @ViewChild(TemplateRef) template; 来查询 <ng-template></ng-template>) @ViewChild(‘myname’, {read: ViewContainerRef}) target : ViewContainerRef; The following is an explanation to read: There can be several instances…

Read More Read More