【问题标题】:SimpleMembership in a Intranet ApplicationIntranet 应用程序中的 SimpleMembership
【发布时间】:2013-10-10 13:09:46
【问题描述】:

我正在创建一个 Intranet 应用程序,我需要帮助来决定使用什么成员资格。

SimpleMembership 据说是 ASP.NET 授权和身份验证的未来,但它具有那些网络安全内容和网页前缀表。 在 Intranet 应用程序中使用 simplemembership 是一种正确的思维方式

在两年前的一个项目中,我基于 SqlMembership 编写了自己的 RoleProvider,并在 area+controller+action 的授权下运行良好。但是我在 simplemembership 上看不到这种情况发生,也找不到在互联网上启发我的文章。

此外,我需要将用户与人员相关联,并删除代码优先的内容,并将 simplemembership 表添加到 EDMX。工作正常,但我需要 web.config 上的两个连接字符串。

我认为会员提供者对于加速开发,消除项目中的授权和认证担忧非常有用,但我不想只是实施“旧方式”(我已经知道的方式),想要推进到“新方式”。

另一方面,Universal Providers 据说用于旧的现有提供程序,如 here 所述:

通用提供程序适用于您拥有现有 ASP.NET 成员资格提供程序并且希望将其与另一个 SQL Server 数据库后端(SQL Server 除外)一起使用的情况

这听起来不太好,因为 UP 的数据库结构似乎比 SimpleMembership 更干净。

简而言之,我喜欢 SimpleMembership 的工作方式,但表格上的那些“网页前缀”使提供者看起来有点“不打算在 Intranet 应用程序中使用”。

【问题讨论】:

  • 为什么“网页”前缀会给你那种感觉? Intranet 应用程序与 Internet 应用程序几乎相同,只是进行了本地化。

标签: c# asp.net-mvc-4 authentication authorization simplemembership


【解决方案1】:

SimpleMembership 是使用“Internet”模板创建的 MVC 4 应用程序的默认成员资格提供程序。 SimpleMembership 是一个易于使用的 Internet 应用程序成员资格提供程序,可轻松扩展并提供 OAuth 支持。我会说它可能不太适合 Intranet 应用程序,您只需要一个与 Windows 安全相关的角色提供程序。此外,SimpleMembership 不再是 ASP.NET 中身份验证和授权的未来。 Microsoft 已经在 MVC 5 中删除了它,并引入了 ASP.NET Identity 作为 SimpleMembership 的替代品。

【讨论】:

    【解决方案2】:

    MVC4 为您提供了构建您自己的自定义会员提供程序的所有工具。因此,如果您不喜欢“webpages_”前缀,请编写您自己的提供程序并将表命名为您想要的名称。

    【讨论】:

    • 很好,Brandon,正如我所提到的,我自己已经编写了一个自定义角色提供程序。但是 MS 说 Universal Providers 是为遗留而 Simple Provider 是未来。所以你是说我必须自定义继承自 ExtendedMembership 的 SimpleMembership 或自定义“旧版”SqlProvider 仍然是一个好习惯?
    • 我只是说如果你挂断了数据库表的名称,你可以改变它,但为什么要麻烦。好的做法是按原样使用 SimpleMembership,如果 SimpleMembership 绝对不起作用,则自定义或编写您自己的提供程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-29
    • 2017-01-24
    • 2020-02-10
    • 1970-01-01
    相关资源
    最近更新 更多