Ton*_*ion 3 c# forms-authentication winforms
我正在尝试在我当前的winforms项目中实现授权和身份验证.身份验证还必须匹配SQL Server 2008数据库中的用户.问题是,它是一个多用户程序,因此当添加新用户时,会创建一个数据库并将用户身份添加到数据库中.
我想知道这是否可能实施IPrincipal和IIdentity.到目前为止我只找到了ASP.NET实现.
任何人都可以给我一些指导,了解在winforms应用程序中实现密码/用户标识安全性的最佳方法是什么?请记住,必须使用SQL Server中的数据库进行验证.
这意味着该用户必须存在数据库,并且其凭据必须正确.
您可以IPrincipal通过编写实现该接口的类来实现自己的对象.
由于您将使用Windows以外的其他来源提供用户名和密码,因此您还需要编写自己的IIdentity实现.
幸运的是,这些不是大型接口.
对于您的自定义IIdentity,我将创建一个登录表单,尝试在SQL 2008数据库中查找用户名/密码组合.如果找到,那么您唯一关心的是如何填充该用户的"角色"以提供IsInRole(string roleName)离开该界面的方法的功能.
以下是有关如何在Winforms和ASP.NET中完成的详细文章的链接
UPDATE
此外,一旦将此主体附加到当前线程(以及后续创建的线程),您还可以向代码中添加"要求"当前主体属于给定角色或具有给定名称的属性.