0

我目前正在构建一个用于可视化和控制工业设施的 ASP.NET MVC4 Web 应用程序。现在是时候实施一些用户和角色管理以提供安全性了。经过一段时间的调查,我认为最先进的方法是 SimpleMembershipProvider。所以这是我的问题:出于兼容性和其他原因,我必须仅使用我们数据库中的现有表,所以我不能简单地集成 SimpleMembership,指向我们的数据库并让它自己创建所需的表。我所拥有的就是这个现有的表,它通常看起来像这样:

ID (Integer)
UserName (String)
Passwort (String)
UserGroup (Integer) (this would be the equivalent to the role)

有没有办法使用 SimpleMembership?或者 - 如果不是 - 您将如何实现替代(可能基于 cookie)类型的授权,最好使用属性来检查用户是否基于例如 IsLoggedIn 和 RequiredUserGroup(4) 或类似的东西获得授权?

我真的很想使用 SimpleMembership 机制,但我看不出它应该如何与给定的数据库字段一起工作。

非常感谢任何帮助!

最好的问候,罗伯

4

1 回答 1

0

您可以自定义SimpleMembership以包含您的应用程序需要的字段,如本文所示。UserProfile实体/表带有此定义开箱即用。

    [Table("UserProfile")]
public class UserProfile
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int UserId { get; set; }
    public string UserName { get; set; }
}

按照参考文章中的说明,您可以轻松地将UserGroup属性添加到此表中。但是在SimpleMembership中,您不会将密码存储在UserProfile中。密码与SimplemMembershipProvider的其他必需属性一起作为单向哈希存储在 *webpages_Membership* 表中。

更新: 如果您需要保持现有架构和密码存储处理,最好的办法是创建一个自定义成员资格提供程序,如本教程中所述

于 2013-05-13T13:59:12.113 回答