V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
Aumujun
V2EX  ›  Go 编程语言

如何实现对下载/上传文件的权限管理

  •  
  •   Aumujun ·
    None · 2019-08-21 16:45:19 +08:00 · 3510 次点击
    这是一个创建于 1932 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好

    初窥 web 编程,现在有一个需求。

    公司有 1500 名左右的员工,每个员工需要有不同的下载文件的权限,普通员工只能下载 A 目录中的文件; 组长,领导之类的可以下载 A, B 两个目录中的所有文件。

    想要搞个可视化的 web 页面,登录的用户有相应的权限下载相应的文件

    因为公司的所有电脑都是使用 windows 的 ad 域进行管理,有没有办法对接 ad 域达到这样的需求,不对接也行。

    大家有没有较好的思路可以推荐一下,感激不尽(手动抱拳

    14 条回复    2019-08-22 15:52:18 +08:00
    SuperMild
        1
    SuperMild  
       2019-08-21 17:01:09 +08:00   ❤️ 1
    比如说像 V2EX 这样的网站,每个用户要注册和登入,登入后可以修改自己的资料,不能修改别人的资料。

    其实就是登入后,你后台通过某种方式获得一个 User,你可以设定每个 user 有一个用户组,然后当用户访问 B 文件夹的路由时检测一下:

    if user.Group == 'normal' { return err }

    即可。

    具体你可以找一些论坛的源码,或者你所使用的 web 框架的教程的权限章节或权限插件。
    CallMeReznov
        2
    CallMeReznov  
       2019-08-21 17:03:43 +08:00
    对象存储然后用对应的 token
    bnx
        3
    bnx  
       2019-08-21 17:07:42 +08:00
    可以直接在 Server 上开共享文件夹,每个文件夹设置好权限。
    比 Web 方式要好管理。
    我呆过的两个世界 500 强公司都是这么操作的。
    bnx
        4
    bnx  
       2019-08-21 17:08:23 +08:00
    @bnx 而且还可以在服务区上设置好组策略,开机自动映射网络驱动器。
    Aumujun
        5
    Aumujun  
    OP
       2019-08-21 17:13:17 +08:00
    @bnx 这种方式可以将文件 /目录呈现在网页上吗,公司的那些员工都是小白,很多都不会进共享这个操作。。。。
    Aumujun
        6
    Aumujun  
    OP
       2019-08-21 17:16:13 +08:00
    @SuperMild 感谢你的回复,我最开始也是这么想的,就是他们想要对接 ad, 头疼。
    taogen
        7
    taogen  
       2019-08-21 17:16:49 +08:00 via Android   ❤️ 1
    1. 每个用户设置角色,每个文件设置允许下载的角色。2. 用户点击下载按钮,请求后端 API 接口。3. 后端查询用户的角色是否在文件的下载权限是否匹配,不匹配则返回提示,匹配则返回文件流。
    aaa5838769
        8
    aaa5838769  
       2019-08-21 17:18:18 +08:00
    为什么你们公司不上一套企业云盘系统?
    shanlan
        9
    shanlan  
       2019-08-21 17:26:06 +08:00
    如果你自己想从 0 到 1 实现,比较难。如果你只是想用上这种东西,网上有很多产品,比如我公司就用可道云。
    xujif
        10
    xujif  
       2019-08-21 20:25:42 +08:00
    古老的 ftp ?
    qinyechao
        11
    qinyechao  
       2019-08-21 20:29:10 +08:00
    权限管理系统配合文件管理系统 crud 搞起来
    UnknownR
        12
    UnknownR  
       2019-08-22 02:48:36 +08:00   ❤️ 1
    如果是 ad 的话,可以设置 group,比如 group a,b,c 各自的权限是逐级上升的,用户可以申请加入某个组,拿到 approval 之后就可以加进去,然后再具体的文件、目录上给予相关 group 权限,比如 c group 可以加到是所有 folder 的 r/w,a group 只能 r 某些 folder 只类的。加了 ad 域控的话,可以对域内 server 推 group policy,这样管理起来也方便,权限更新一波刷就行了
    surfmanjoe
        13
    surfmanjoe  
       2019-08-22 04:59:29 +08:00
    你需要 SHAREPOINT
    bnx
        14
    bnx  
       2019-08-22 15:52:18 +08:00
    @Aumujun 用组策略一推,用统一的盘符,直接像操作本地磁盘一样,比登网页还简单,更适合小白。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6026 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 02:12 · PVG 10:12 · LAX 18:12 · JFK 21:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.