用户权限控制



我正在开发一个具有一些权限限制的 WPF 应用程序,因此有些屏幕只有管理员才能看到,有些功能只允许他们使用。

目前,我正在检查每个屏幕的构造函数方法的权限级别,其中用户对象流经应用程序。但我忍不住想,必须有一种更聪明、更合适的方法来做到这一点。

是否可以使用某种 PermissionHandler 类来执行验证并设置用户由于其权限级别而可以和不能执行的操作?

谢谢。

我认为您要做的是将安全内容放在业务逻辑层而不是UI中。

我不确定您的项目架构/设计模式,但此 QA 是将安全逻辑移动到控制器或 ViewModel 的良好开端:https://softwareengineering.stackexchange.com/q/197977/38951

当然有可能。您可以使用单例模式或静态类。类似的东西(伪代码):

public static class PermissionHandler
{
    public static User {get;set;}
    public static Login(string username, string password)
    {
        //set User here 
    }
}

您甚至可以绑定到User.Claims或在PermissionHandler上创建一个方法来获得正确的权限。无论如何,如果您只是使用它来显示/隐藏控件,您的应用程序很容易被黑客入侵,例如使用Snoop。因此,如果您确实需要"保护"某些功能的使用,则应在业务逻辑或服务器端(如果有的话)中进行检查。

如果您选择服务器端,我强烈建议您使用令牌服务。例如 https://jwt.io/或 ADFS。当然还有很多其他的,但对于这种 QA 格式来说,这将花费太长时间......

最新更新