用户特权管理SmartFoxServer 2X

在线应用程序的一个常见要求是为不同类型的用户提供一组自定义权限。 通常,在线游戏可以处理来宾用户,注册用户和高级用户。 为管理员和/或网站管理员提供个人资料也很常见。

SmartFoxServer 2X提供每个区域内的权限管理器,可以自定义以限制与服务器的交互。 每个权限配置文件可以为特定类别的每个用户设置拒绝的API调用列表。 例如,我们可以禁止为访客用户创建房间和房间变量,并且只允许注册用户使用。 除了这两个特权类别之外,所有人都可以拒绝主持人和管理员信息等。

权限管理器中的每个配置文件都用唯一的数字标识。 这些ID可以自由分配,但前4个被保留,并且对系统有特殊的含义:
Id == 0:访客用户
Id == 1:注册用户
Id == 2:主持人用户
Id == 3:管理员用户

没有为每个配置文件提供默认设置。 开发人员可以根据自己的喜好自由定制这些权限。 我们应该记住,这四个ID总是在系统中被识别,如上面的列表所示。 例如,如果你在你的代码中使用它:

var kermit:User = sfs.userManager.getUserByName("KermitTheFrog")

if (kermit.isModerator())
{
    // Allow some special action here...在这里允许一些特别的动作
}

在内部,API实际上会检查profileId == 2。

您还可以自由添加任何数量的附加配置文件,并完全忽略我们提到的默认配置文件。

注意
配置文件ID作为一个短整数(16位)发送,这意味着每个区域的理论限制为2 ^ 16个许可配置文件。
»如何配置权限配置文件

配置权限配置文件是一个非常简单的操作。 您只需要运行AdminTool,启动“区域配置器”模块,然后选择要在其中编辑权限的区域。 在“特权管理员”选项卡下,您将找到四个标准配置文件:
这里写图片描述
您可以编辑任何这些或添加新的:
这里写图片描述
双列表将使您能够从拒绝的列表中添加和删除任何请求。在对话框的下方,您将能够分配另外两个特殊标志:

ExtensionCalls:激活对Zone中任何Extension的访问;关闭时,具有所选配置文件的用户将无法使用扩展。
SuperUser:打开时,使所选配置文件的用户可以使用主持人/管理员功能,例如踢,禁止和发送mod / admin消息。

»如何使用权限配置文件

为特定用户分配正确的权限配置文件需要自定义登录逻辑。通常,开发人员将管理数据库或类似数据源中的用户数据。在登录时,您的扩展程序将能够检查用户凭据,并最终在客户端最终登录系统后设置适当的权限ID。

我们建议的流程如下(更多信息查看自定义登录如何):

在你的init()扩展方法中为USER_LOGIN服务器事件注册。
当USER_LOGIN被触发时,您可以根据数据源检查凭据,并允许或拒绝访问。如果您允许访问,您还可以在会话属性中存储权限配置文件。按照惯例,有一个名为$ permission的保留属性,用于指定用户将被分配的权限ID。例如:
session.setProperty("$permission", DefaultPermissionProfile.MODERATOR);

session.setProperty(“$ permission”,DefaultPermissionProfile.MODERATOR);

现在,用户权限已正确配置。每次从客户端发送请求时,权限管理器将根据用户配置文件进行验证,并确定是否应该执行或拒绝。如果请求被拒绝,将会记录错误。

翻译自:http://docs2x.smartfoxserver.com/AdvancedTopics/privilege-manager

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值