客户端程序代码如果做权限控制

17 天前
 supermama

以前做的都是 BS 的程序,前后分离,前端、后端、数据库 分别是三批人分成不同权限管理,所以也不担心代码泄露或者权限问题。 那么如果是 CS 的程序,要 Git 仓库要怎么分权限,既保证一个人无法拿到全部的代码,而且也不影响在开发过程中的协作呢?

2314 次点击
所在节点    程序员
26 条回复
panxiuqing
17 天前
以前三批人没法交流串通?
shadowyue
17 天前
没有完整代码项目在开发的时候能跑起来?
supermama
17 天前
@panxiuqing 理论上会,但是至少出状况的概率会低一些。现在如果是 cs 结构,其实连数据库也没有,纯客户端,一个人出事,代码就被拿走了。
supermama
17 天前
@shadowyue 不行,跑不起来。所以就不知道像客户端的这种项目,要怎么区分好权限,既能协作编码,但是每个人又只能拿到自己的那部分代码。
vituralfuture
17 天前
拿不到全部的代码其实问题很大。假设楼主的这个项目是 C++写的,可以通过链接到预先编译的库的方式避免某人拿到这部分的代码,但只适用于分层明显的情况下。如果这部分属于同一层,出 bug 了很难排查。如果这一层是频繁变动的业务,操作起来也很麻烦

最后,防止代码泄露应该靠法律手段,技术手段防不住的
shijingshijing
17 天前
@shadowyue 接口定义好了完全没问题的,前提是文档完善,接口清晰,不经常变来变去。
shadowyue
17 天前
客户端程序也可以拆成例如 UI 层,业务层,数据层吧,
每个部分之间的交互通讯能支持本地或者远程两种方式的话,
你就能把几个部分拆开,各自开发各自的。这个思路不知道是否可行
zhangeric
17 天前
cs 跟 bs 一样啊,做成前后端分离不就完了么?
xuanbg
17 天前
你的客户端难道不是替代 JS 前端的么?不会是客户端直连数据库的吧???
Skifary
17 天前
CS 分层分模块也一样
tool2dx
17 天前
客户端可以啊,每人负责一个 dll 模块,整体运行起来只需要调用接口,不需要源代码。每个人的 git 权限隔离。
gbw1992
17 天前
之前我们做.net cs 项目时,不同业务模块可以发布到私有 nuget 上由不同组开发。主程序 host 项目直接引用或者使用反射的方式加载不同项目的界面。
nice2cu
17 天前
分模块 jar 包模式引入,只能看别人的代码 不能改
GeekGao
17 天前
不同的库、不同的权限
共同的 CI/CD (管理员能拿到所有权限)
自动打包,然后进行测试
sampeng
17 天前
防君子不防小人。否则,so 出模块。也没什么好的办法
sampeng
17 天前
但说实话吧,代码真的有这么重要么?除了真正算法累的。普通 crud ,功能页面类的。有源码又怎么样,重要的是市场模型吧
importmeta
17 天前
建议做好保密协议,知识产权,专利,因为防不住。
HangoX
17 天前
cs 程序吗? git 做这个有点难的,需要用 subtree ,或者直接通过 nexus 提供不同的底层包
janus77
17 天前
前端后端数据库本来就是不同的项目啊,是各自打包最后产物也是各自的,你这客户端凭什么要分开啊,我不理解,仅仅是为了安全?前端后端分离开也不是为了安全才分开的啊
dandycheung
17 天前
改用 SVN 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1069498

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX