原型业务应用程序的用户登录系统

时间:2013-04-08 15:41:55

标签: c# .net entity-framework authentication login

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

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

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

编辑:

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

3 个答案:

答案 0 :(得分:3)

这是我的建议:

以这种方式构建数据库

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

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

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

我希望这会有所帮助。

答案 1 :(得分:1)

我建议使用InBuilt会员提供商,因为它拥有为您编写的大部分锅炉板代码,并且对微软公平,它不是太糟糕且可扩展。

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

修改 啊,对不起,我想你提到你正在使用WPF。遗憾的是,成员资格提供程序是ASP.NET特有的,在WPF中不可用。

答案 2 :(得分:-2)

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

Windows Communication Foundation Authentication Service Overview

WPF Security Strategy - Platform Security

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