0

我正在为工作创建一个小的 .NET c# 业务应用程序/原型。老实说,我有点开心。它依赖于 SQL 2012、C# .NET 4 WPF,我计划玩弄实体框架。

我们总共有 5 个用户和 3 个角色。建立可靠的用户登录系统的最佳方法是什么?这是一个原型,我只需要它工作,但原则上我希望它是可靠的,这样我就可以将它扩展到可能 10 或 15 个用户。

系统需要能够接受新用户和密码,然后为其分配角色。

编辑:

我正在构建应用程序以坐在客户端计算机上,该计算机通过网络与内部服务器交互以与 sql 数据库对话。

4

3 回答 3

3

这是我的建议:

以这种方式构建数据库

 User           UserRoles               Roles
---------       ---------------         ------------
UserID(PK)          UserID(FK)(PK)         RoleID(PK)
UserName            RoleID(FK)(PK)         RoleName
Password                                   RoleDescription

该数据库模型将为您在 EF 中建立多对多关系,以确保用户可以属于多个角色。然后,您可以为您的应用程序创建自己的身份验证模型,因为 Membership Provider 不适用于 WPF,但它应该很简单。

当您登录用户时,您可以使用 EF 查询数据库以了解用户所属的角色,以便您可以对结果执行所需的操作。

我希望这有帮助。

于 2013-04-08T15:51:29.593 回答
1

我建议使用 InBuilt 会员提供程序,因为它具有为您编写的大部分样板代码,并且对 Microsoft 公平,它还不错并且是可扩展的。

http://msdn.microsoft.com/en-gb/library/system.web.security.membershipprovider.aspx

编辑: 啊,对不起,我错过了你提到你正在使用 WPF。不幸的是,成员资格提供程序是 ASP.NET 特定的,并且在 WPF 中不可用。

于 2013-04-08T15:45:47.973 回答
-2

具有可靠安全性和角色的业务应用程序。
如果客户端直接访问数据库,则该 SQL 连接和那些 SQL 凭据可能会被黑客入侵。

Windows Communication Foundation 身份验证服务概述

WPF 安全策略 - 平台安全

您仍然可以使用 EF 作为角色和登录的支持。

于 2013-04-08T15:53:55.093 回答