我正在 ASP.NET 中创建一种内部网系统,需要我根据登录用户的角色隐藏/显示/禁用/启用某些内容。到目前为止,我一直在使用 ASP.NET 会员资格(我在学校学到的),但是我遇到了必须自定义内容的问题。我们需要用户名和密码,但我们还需要添加自定义字段,如名字、姓氏、许可级别(添加时将用于设置用户的角色)和一些任意描述性字段,如员工头衔和办公地点。
我们使用Microsoft Access(ASP中的OleDB连接)来满足我们的大部分数据库需求,并且我们有一个员工表来存储我们需要的所有信息(如姓名和许可级别)。我想找到一种方法将这些表中的记录链接到通过 ASP 设置的用户。我们需要能够创建、编辑和删除用户,而不是通过 Web 配置工具,而是通过我们正在创建的站点(它将由不熟悉 ASP 的人管理)。由于 ASP 成员资格使用 SQL Server,因此尝试找到一种方法来连接 ASP 生成的用户表和为项目创建的员工表变得越来越复杂。
我现在在网上读到,这种会员系统还有另外两个版本:简单会员和身份。只是习惯性地,我倾向于最新的迭代(标识),但是我现在正在阅读,很难查询用户表以获取适当的角色信息等。
对于具有 3 个特定角色并且必须根据角色禁用/隐藏特定内容的系统,哪个是最好的?哪一个最适合允许我为系统内的用户创建自己的添加/编辑/删除页面?
MemberProvider 被弃用并替换为 Asp.Net Identity。如果这是一个新项目,请使用标识。如果这是一个棕色项目,请考虑从 MemberProvider 迁移到 Identity,但可能需要一周的时间。
标识是高度可自定义的,很容易在用户上添加额外的字段,并且用户的 CRUD 非常容易,特别是如果您知道实体框架。