直接将用户添加到类别

虽然顶起一个旧帖子是不好的行为,但我找不到更新的帖子。请随时指教。

我最近将论坛用于许多奇怪的事情。

我倾向于为私人目的创建只读类别,并且只有一个访问用户(让不想创建实际帐户的每个人都保持简单)。有时用户会创建一个帐户,并被授予写入权限。除了我似乎需要有一个 category_xyz_see 和 category_xyz_write 组才能实现这一点。嗯,这只是工作。

似乎很奇怪,您只能在“安全”下添加组,而用户(毕竟也是另一个对象)却不能添加。

我没有尝试过邀请方法(在 SSO 之后,即使它现在可能已修复)。

也许另一种方法是使用带有标签的私人消息来对相关讨论进行分组?

1 个赞

但我使用了这些可以访问私有类别的特殊创建的用户。

这样做的原因是,如今人们真的不想“在某个地方”创建另一个帐户。因此,对于时效性短(几个月或最多两年)的信息,我要么使用对网站公共区域具有读取访问权限的登录,要么使用有权访问封闭类别的特定登录。

这种方法似乎能吸引更多读者,如果他们发现网站上有其他有趣的内容,其中一些人会转化为实际用户。

需要登录可以保持网站的整洁。

我写下这个只是作为一个用例场景,说明有人如何使用他的 Discourse,仅此而已。作为一名开发人员,当人们做我没有设想到的事情时,我通常会感兴趣。

但由于可以通过添加另一个具有不同权限的组来解决这个问题,然后将所需用户添加到该组中,所以这也不是什么大问题。

如果仔细想想,PM 的定义就是一个具有独立访问控制的主题。它们会出现在 UI 的不同位置,但同时拥有两者会非常混乱。

我认为这是一个有趣的想法。我们通常在寻求群组的用户对等。这是我第一次看到反向操作。

对于非常小的网站或仅供少数人使用的类别,我认为能够将用户名与群组名称一起放入类别安全字段会非常有用和便捷。但显然,一旦开始添加大量用户名,就会变得笨拙。

2 个赞

我认为斯蒂芬在这里的观点我不太赞同,至少从程序员的角度来看是这样。你是否有一个用户或一个组并不重要,它们都是对象。在我看来,它们可以相互映射并存在重叠。
这在用户界面中会令人困惑吗?也许会。也许不会。我们不需要展示重叠部分,一个用户也存在于一个组中(由系统自行处理)是无关紧要的。

我还遇到了一个限制,即子类别必须拥有对父类别级别的访问权限。这在某种程度上是有道理的。我想我可以把整个事情颠倒过来,但在这种特定情况下,感觉会很别扭。

我将再次展示实际用例,这样更容易解释原因。我可能不知道所有正确的英语词汇,但我认为人们会明白大概意思。
一个人去世了,很多人都在处理遗产。
创建了一个只读用户以便于访问(并将该用户添加到“查看组”)。
一些已经在网站上的人也被添加到了该组(这样他们就不必注销并切换账户)。
顶层类别包含通用信息,如葬礼等。
一个子类别包含金钱信息(这仍然不清楚,所以在所有问题解决之前不会发布给所有人)。在这里添加一个受信任的人(可能在遗产之外)并不意味着他需要(甚至应该拥有)访问顶层类别的权限。

我确信通过一点思考,我能找到一个好的处理方法。但基本上,允许将单个用户添加到任何级别将更优雅(也更合乎逻辑)地解决这个问题。

而且,所有这些几乎都可以通过额外的组来实现,所以可能不值得费力。

群组和分类的概念已集成到 Discourse 中,并影响许多方面,因此我不确定是否有意愿进行更改。这将是一个巨大的改变。

尽管如此,我同意这始终是使 Discourse 在设置和管理方面显得复杂的一个领域,即使与 Yahoo Groups 或邮件列表等传统系统相比也是如此。

我们已经有一些获得特殊处理的特殊群组,例如“信任级别”、“所有人”以及“版主”/“管理员”。也许我们也可以允许创建仅用于后台分类访问的特殊群组,直接从分类安全设置中进行创建?例如:

对于分类“foo”:

  • 提供 UI 来选择用户并授予他们查看、回复和创建的权限
  • 选择用户后,创建 foo_seefoo_replyfoo_create 群组并将用户添加到其中
  • 提供 UI 来移除用户并更改他们的查看、回复和创建权限
  • 如果启用了分类审核,还可以指定用户作为分类版主并为此创建 foo_moderator 群组。
  • foo 访问群组不会从 /groups 页面可见,也不会在撰写器中通过“@”提及
  • foo 访问群组与特定的 foo 分类相关联,不能用于访问其他分类
  • foo 的子分类可以自动获得 foo 的访问权限,而不是当前令人困惑的循环错误处理

我喜欢这一点是因为我们还可以通过查看分类来公开 UI,以查看拥有该分类访问权限的所有人的姓名,以及拥有查看、回复和创建权限的人员。我一直觉得这是一个空白。目前我们提供的唯一程序化信息是表示分类受保护的“:lock:”图标 - 我们不知道谁拥有访问权限。

通过将此功能置于分类设置中,我们还简化了分类和群组的创建方式。这为更多用户创建和管理安全分类打开了大门。甚至可能有一个 foo_owner 群组,允许除站点管理员之外的人员管理分类的访问权限。

我不确定这会是什么样子,而且可能也没有意愿进行此类更改,但我们始终欢迎头脑风暴和新想法,最好附带模型图!

1 个赞

有趣。不过感觉还是有点复杂(也许是因为建立在现有基础上,所以是必须的)。
Groups 感觉已经臃肿了(总是搞不清谁属于哪个组——是的,我知道命名不好)。所以 foo 类型的方法应该主要从类别中可见。至少应该有一个复选框,用于默认显示这些内容是否在组中。

可惜 Discourse 是用我完全不熟悉的工具构建的。最多我可能会创建直接访问数据库的实用程序。反正其他人似乎用他们的脚本做得更好。好吧,也许等我退休的时候吧 :)。