在 asp.net MVC 中实现超级用户功能?

Posted

技术标签:

【中文标题】在 asp.net MVC 中实现超级用户功能?【英文标题】:Implementation a super User Functonality in asp.net MVC? 【发布时间】:2020-06-10 16:20:25 【问题描述】:

我想在我的 asp.net MVC 项目中实现超级用户功能,请参阅以下结构:

我的计划:

超级用户

首先我有一个超级用户的用户名和密码,因为超级用户登录管理面板并注册了管理员和管理员。

首先:当超级用户注册管理员时,我想授予全部权限(更新者),当超级用户注册管理员时,我想授予权限(仅限查看者)。

例如:

1步:超级用户登录然后注册管理员和管理员:

tbl注册

添加管理员

文件名:

first name: Suraj
last name: Bartoli
email id: ra@gcom
password: ******
image: image name

添加经理

文件名:

first name: Rahul
last name: Bartoli
email id: rahul@com
password: ******
image: image name

2 步:然后添加用户角色:tbluserroles

例如:

文件名:

user: Suraj
role: administrator

user: Rahul
role: manager

3 步:然后是 app/user-security: tblusersecurity

文件名:

user: Suraj
app: admin panel 
role:updator

username: Rahul
app-name: admin panel(view only whole update panel)
role: viewer

希望我的问题能被理解。

我还是没有实现这个功能?

任何人都可以建议我走错路还是走正确路?或者有人建议在表中添加新字段或删除表中的字段?

【问题讨论】:

看看Identity 【参考方案1】:

对于角色

您似乎拥有多个角色,您可以根据这些角色来决定什么是特权。我建议,您必须有单独的表格,例如 tblRoles,其中包含以下属性

    role_id bigint primary key,
    role_name nvarchar(200),
    role_description nvarchar(200),
    role_privilege nvarchar(200)

在其他表中使用role ids 作为外键,而不是使用role names(如更新器、查看器等)。

user ids 也是如此,而不是在不同的表中使用用户名

【讨论】:

感谢您的建议,现在我的 tblrole 看起来像 roleid,role_name(updator,viewer),role_description,role_previlege,username?你能告诉我role_description,role_previlege 中哪个值存储吗? description 可用于获取附加信息,它可以是可选的。对于角色权限,您可以存储有关角色权限的信息

以上是关于在 asp.net MVC 中实现超级用户功能?的主要内容,如果未能解决你的问题,请参考以下文章

在 ASP.NET MVC 中实现“记住我”功能

如何在 ASP.NET MVC 5 中实现自定义身份验证

如何在 ASP.NET MVC 5 和 WEB API 2 中实现 oauth2 服务器 [关闭]

在哪里可以找到在 ASP .NET MVC2 中实现密码恢复的 C# 示例代码

如何在 ASP.NET MVC 中实现自定义主体和身份?

csharp 在asp.net mvc中实现工作单元模式