C# Winform 应用程序的用户授权(不是ASP.NET)

User authorization for C# Winform applications (not ASP.NET)

我想将 C# Winform 应用程序中的某些功能限制为特定用户/用户组。我可以看到很多使用 ASP.NET 的示例,但关于如何为 C# WInform 应用程序执行此操作的信息很少。有什么建议吗?

如果您的想法是限制功能,您可以尝试这样做:结合使用 .enable/.isEnabled 函数,winform 中的每个对象都必须使其可供用户使用或点击,与 .visibility命令根据用户权限类型更改接口。

public class User()
{
    public string Username { get; set; }
    public string Password { get; set; }
    public bool IsAdministrator { get; set; }

    public User() { }
}

然后当用户填写表格并按“登录”时,例如您会执行以下操作:

User activeUser = new User();

activeUser.Username = nameTextbox.Text //ecc ecc for the psw

If(activeuser.IsAdministrator)
{
    buttonexample.Enabled = true;
    buttonexample.visible = true;

    otherbutton.Enabled = false;
    otherbutton.visible = false;

    // insert other commands for interface control
}

另外,这尝试为不同的任务使用不同的形式,这将有助于分解代码以使其更易于使用。
一个合理的结构可能是:

  • 登录页面(连接到您拥有为每个用户定义的用户权限的列表)
  • 主界面,您可以在其中隐藏和仅显示您想要的功能
  • 也许还有一些用户的其他表单 creation/change password/ecc

如果您要的是真正的授权帮助库或其他东西,可以稍微改一下问题。