如果有人登录我的应用程序,则该用户包含具有特定权限的字典。
ex: module.view.workspace = true
module.view.reporting = false
...
然后我们知道用户可以访问的应用程序的哪些部分。 我想知道的是我们如何在视图上应用这些权限。 我们正在AS 3(FLEX)环境中工作。
这是我们到目前为止所提出的(但我想了解其他可能性)。 我们有一个存储loggedOnUser(包含它的权限)的modelLocator。 这些权限将添加到modellocator中的permissionObject。 我们创建一个SecurityManager类,它具有一个名为hasAccess(“permission”)的函数。 此对象将检查modellocator中的PermissionObject并返回true / false。 在视图中,我们只检查用户是否具有访问权限,然后显示控件。
If (SecurityManager.hasAccess("module.view.workspace") {
// code that generates the workspace;
}
我只是不知道这是不是最好的做法。 请帮帮我。
答案 0 :(得分:0)
Sem,
我有一个类似的方法,到目前为止工作正常。我的应用程序是用C#.NET编写的,但该方法仍然有效。由于我的是WinForms应用程序,我必须做其他的事情,但基本上在某个时候有一个If语句要求同样的“问题”。
马丁。
答案 1 :(得分:0)
这种方法基本上是有效的。我建议使用静态const定义一个类,该类映射到您的不同权限并引用它:
SecurityManager.hasAccess(SecurityManager.MODULE_VIEW_WORKSPACE)
如果您开始更改权限项目的名称,这将为您节省大量手动搜索/替换工作。