Speedle五分钟入门

转圈圈的程序员 · · 1347 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Speedle是一个非常强大的企业级权限管理方案。不同于传统企业级应用,Speedle简单易学。使用者可以在5分钟之内编译,部署,和简单使用Speedle。

第一步 编译

先安装GO编译器,安装文件在https://golang.org/dl/

设置GOPATH环境变量

运行如下命令

$ go get github.com/oracle/speedle/cmd/…

该命令会从github下载代码并自动编译。命令执行完毕后,我们可以检查$GOPATH/bin目录,应该有三个文件在该目录下:

$ ls$GOPATH/binspctl speedle-ads speedle-pms

speedle-pms是授权策略(Policy)管理服务

speedle-ads是授权决定服务(运行时)

spctl是命令行工具

第二步 运行

启动PMS和ADS

$cd$GOPATH/bin$ ./speedle-pms --store-type file&$ ./speedle-ads --store-type file&

第三步 使用

作为权限控制软件,最基本的功能有两个:

管理授权策略(Policy)

处理授权请求,根据定义的Policy得出授权决定

例如,对于图书馆管理系统,我们要定义一个Policy说“张三可以借书”。我们可以进行如下操作:

$ ./spctl create service library$ ./spctl create policy -c"grant user ZhangSan borrow book"--service-name=library

这样Policy就存储在Speedle中,接下来我们测试一下Speedle可不可以正确处理授权请求。

问问它张三可不可以借书:

$ curl -X POST --data'{"subject":{"principals":[{"type":"user","name":"ZhangSan"}]},"serviceName":"library","resource":"book","action":"borrow"}'http://127.0.0.1:6734/authz-check/v1/is-allowed

它回答可以

再问问它李四可不可以借书

$ curl -X POST --data'{"subject":{"principals":[{"type":"user","name":"LiSi"}]},"serviceName":"library","resource":"book","action":"borrow"}'http://127.0.0.1:6734/authz-check/v1/is-allowed

它回答不可以

就这么简单!下一步您可以深入了解SPDL语言的用法。它可以支持普通的ACL,也支持RBAC和ABAC,也可以RBAC和ABAC混合使用。能满足各种应用场景。期待您去尝试。

Speedle网站:https://speedle.io

Speedle GitHub项目: https://github.com/oracle/speedle

Slack 社区:#speedle-chinese

(本文引用自https://github.com/oracle/speedle/blob/master/docs/%E4%B8%AD%E6%96%87%E8%B5%84%E6%96%99/5%E5%88%86%E9%92%9F%E5%85%A5%E9%97%A8.md)


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:转圈圈的程序员

查看原文:Speedle五分钟入门

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1347 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传