当前位置 : 主页 > 编程语言 > c语言 >

c# – 在winforms项目中实现IPrincipal

来源:互联网 收集:自由互联 发布时间:2021-06-25
我正在尝试在我当前的 winforms项目中实现授权和身份验证.身份验证还必须匹配SQL Server 2008数据库中的用户.问题是,它是一个多用户程序,因此当添加新用户时,会创建一个数据库并将用户
我正在尝试在我当前的 winforms项目中实现授权和身份验证.身份验证还必须匹配SQL Server 2008数据库中的用户.问题是,它是一个多用户程序,因此当添加新用户时,会创建一个数据库并将用户身份添加到数据库中.

我想知道这是否可能实施IPrincipal和IIdentity.到目前为止我只找到了ASP.NET实现.

任何人都可以给我一些指导,了解在winforms应用程序中实现密码/用户标识安全性的最佳方法是什么?请记住,必须使用SQL Server中的数据库进行验证.

这意味着该用户必须存在数据库,并且其凭据必须正确.

您可以通过编写实现该接口的类来实现您自己的IPrincipal对象.

由于您将使用Windows以外的其他来源提供用户名和密码,因此您还需要编写自己的IIdentity实现.

幸运的是,这些不是大型接口.

对于您的自定义IIdentity,我将创建一个Login表单,尝试在SQL 2008数据库中查找用户名/密码组合.如果找到,那么您唯一关心的是如何填充该用户的“角色”以从界面提供IsInRole(string roleName)方法的功能.

这是一个detailed article on how to accomplish in both Winforms and ASP.NET的链接

UPDATE

此外,一旦将此主体附加到当前线程(以及后续创建的线程),您还可以向代码中添加“要求”当前主体属于给定角色或具有给定名称的属性.

一篇很好的example of that is this文章.

网友评论