C# IRC Bot中的插件权限

C# IRC Bot中的插件权限,c#,plugins,irc,C#,Plugins,Irc,我的朋友和我正在编写一个C#IRC机器人,它将允许用户通过插件扩展它的功能。我们需要它,以便每个命令都有自己的权限。因此,只有特定级别或更高级别的用户才能执行该命令。我们很难决定怎么做 权限系统将为1-10。1个是最没有特权的,10个是最有特权的。每个用户将被分配1-10个权限。每个命令还将为自己分配所需的权限级别。我的问题本质上是:我怎样才能使每个命令的权限系统与插件能够有多个命令在其中 我希望Stack Overflow的好人能帮助我。请容忍我,因为这是我在这里问的第一个问题。任何帮助都将不

我的朋友和我正在编写一个C#IRC机器人,它将允许用户通过插件扩展它的功能。我们需要它,以便每个命令都有自己的权限。因此,只有特定级别或更高级别的用户才能执行该命令。我们很难决定怎么做

权限系统将为1-10。1个是最没有特权的,10个是最有特权的。每个用户将被分配1-10个权限。每个命令还将为自己分配所需的权限级别。我的问题本质上是:我怎样才能使每个命令的权限系统与插件能够有多个命令在其中


我希望Stack Overflow的好人能帮助我。请容忍我,因为这是我在这里问的第一个问题。任何帮助都将不胜感激!谢谢

这肯定行得通,另一种方式是“能力”的概念。每个用户都有一个功能列表,如“更新用户”、“删除用户”、“下载文件”等。该列表不受限制。您可以向用户授予功能,并且每个功能都可以根据其需要的列表进行检查

如果(!checkCaps('shell-cmd','google','openurl'))发送错误('sorry,no perms')


可以定义角色来聚合一组权限,如“来宾”、“用户”、“经理”、“管理员”等。

这肯定会起作用,另一种方法是“能力”的概念。每个用户都有一个功能列表,如“更新用户”、“删除用户”、“下载文件”等。该列表不受限制。您可以向用户授予功能,并且每个功能都可以根据其需要的列表进行检查

如果(!checkCaps('shell-cmd','google','openurl'))发送错误('sorry,no perms')


可以定义聚合一组权限的角色,如“guest”、“user”、“manager”、“admin”等。

我将创建您自己的IPrincipal实现,它将为代表用户授权级别的角色返回1-10的值。然后,在对用户进行身份验证时,将其指定为主体权限

然后,将PrincipalPermission属性应用于所有方法(即您的插件方法和其他方法),以允许处于适当角色的人员仅执行代码

例如,如果我有五级,那么我被分配角色1、2、3、4、5


您可以有一个方法具有PrincipalPermission属性,其中Role属性设置为6(我无权访问),另一个方法具有PrincipalPermission属性,其中Role属性设置为3,我会的。

我会创建您自己的IPrincipal实现,它将为代表用户授权级别的角色返回1-10的值。然后,在对用户进行身份验证时,将其指定为主体权限

然后,将PrincipalPermission属性应用于所有方法(即您的插件方法和其他方法),以允许处于适当角色的人员仅执行代码

例如,如果我有五级,那么我被分配角色1、2、3、4、5


您可以有一个方法具有PrincipalPermission属性,其中Role属性设置为6,我无权访问,另一个方法具有PrincipalPermission属性,其中Role属性设置为3,我可以访问。

谢谢!我会调查我的原则。谢谢!我会研究一下我的原则。我也喜欢这个主意。谢谢我也喜欢这个主意。谢谢