Coder Social home page Coder Social logo

cmdb's Introduction

用户管理

    1. 登录

用户信息:

staff_id
name
nickname
password
gender
tel
addr
email
department
status
create_at
update_at
delete_at
  • 2.登录成功后显示用户列表

url->用户列表页面展示: Controller => Model(获取用户数据) => View => Router

  • 3.用户认证

记录用户状态:记录在哪里? HTTP是无状态的,下一次请求

--->cookie & session 机制

状态记录 => session: 在什么时间记录

登录成功:记录状态(session) sessionid => setcookie sessionid

状态跟踪 => (sessionid) => cookie

用户鉴权:

登录状态:

  • 无sessionid
  • 有sessionid sessionid无对应session信息
  • 有sessionid sessionid无session登录状态信息

未登录(无session标识) 跳转到登录界面

已登录 => 正常逻辑

beego

开启:配置 
    SessionOn=true/false
存储位置:内存,文件,数据库
    SessionProvider:file/mysql/redis
存储的地址:
    SessionProviderConfig
cookie中存储sessionid的名字
    SessionName
失效时间
     SessionGCMaxLifetime = 3600s
        
    操作
    存储session
        controller:SetSession key value(任意类型)
                    编码方式 默认gob 注册
    获取session
        controller:GetSession key => value interface{} 
                    运用断言转换为任意类型
    销毁session
        key1
        key2
        controller:DelSession(key)
        DestorySession()

1.session(登录检查) 在任何需要登录以后才能访问的action执行之前都要进行检查 2.如果访问登录页面 检查session已存在(用户已登录,就不再打开登录页面,而是直接跳转到首页)

1.公共地方的检查

数据操作 Table 数据:增删改查

数据定义 Table => 列,类型 => 数据 => 增删改查 面向对象 类 => 属性(属性名,类型) => 实例 => 方法调用 ORM(关系映射模型)

静态资源下载到本地:static /static/ => static

用户管理

任务管理

资产管理 机房管理 工单管理 告警管理 统计图表

  1. 编辑 a.打开编辑页面 Get id => 查找数据 => 页面渲染 b.提交 Post id/xxx => 更新数据 => (成功)跳转到列表页面/(失败)提示

Flash:处理成功后将消息存储 cookie;如果想要显示时从存储中获取消息并显示 从cookie中读取/删除 页面使用后端模板:从当前Controller某个URL跳转到另一个URL 存储: flash := beego.Newflash
flash.Set(key, value) flash.Store(&Controller) 获取: beego.ReadFromRequest(&c.Controller) flash.Data c.Data[key] = value

CSRF:网络攻击-扩展请求伪造

 a.配置
 开启CSRF防护,配置Token => Key
 过期时间
 
 b.打开页面的时候生活曾token,从controller生成,传递到页面

 c.提交时必须提交token,beego自动验证(Post, Delete, Put),csrf_token =>

cobra beego orm --db --force --verbose

main web
     db init

管理员:操作用户管理 UserController Prepare => 判断用户是否是管理员 => 不是跳转到无权限页面/是管理员则继续访问

普通用户:任务管理

限制普通用户操作UserController 发起请求 => 请求操作成功

限制未登录用户操作UserController session => User 有 放行 无 跳转到登录页面

role { 1 : [controller1.Action1, controller2.Action2], 2 : [controller1.Action1, controller2.Action2] }

Authorization => session => user => role => actions GetControllerAndAction 在 actions => 有权限 不在 => 无权限

sudo rm -rf 文件

Prometheus Node => 查询 删除 Agent => API register => 不存在 天剑 存在 更新 => 属性 uuid hostname addr https://host:port/ #username #password created_at updated_at deleted_at

Job => 增删改查
    => 属性
            任务标识 [a-zA-Z][0-9a-zA-Z_]
            备注
            Node node_id
            created_at
            updated_at
            deleted_at

Target => 增删改查
            名称
            备注
            Addr
            Job
            created_at
            updated_at
            deleted_at

数据库关系 用户 <=> 密码 user:id name password:id user_id password

api => json

controller => json beego: CopyRequestBody=true c.Input.RequestBody json => json.Unmarshal => Form json

beego:xsrf检查 => 关闭xsrf检查 认证: 登录 => set-cookie: sessionid, cookie: sessionid Token: 固定的随机字符串 V JWT Token(认证) id key => id params(timestamp) 签名Token

        header: Authrozation: Token xxx
                              Bearer xxx

Agent: 1.注册 2.获取配置 => 生成Prometheus配置

cmdb's People

Contributors

qingsiliu avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.