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
如果您要的是真正的授权帮助库或其他东西,可以稍微改一下问题。
我想将 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
如果您要的是真正的授权帮助库或其他东西,可以稍微改一下问题。