asp.net-core - .Net 5.0 中身份和角色的实际使用
问题描述
我对.Net 环境中的编码相当陌生。我无法找到有关使用身份的身份验证/授权的“真实世界”示例。我遇到的大多数示例主要是使用 ASP .Net 注册模板的教科书示例。
我正在尝试寻找关于在哪里看的指导(是的,我用谷歌搜索过,我得到了非常不切实际/不可用的用例或“课堂”示例)或如何做到这一点。
我在一所小型学校工作,我正在尝试构建一个应用程序(可能是 Blazor - 现在只是在试验各种技术),允许学生和员工登录门户并查看他们的相关数据。我有一个基于 POCO 类的 Employee 表和一个 Student 表。当我向项目添加身份时,它也会创建用户和角色表。
我想拥有基于 Student 和 Employee 表的“Users”表 - 没有单独的 users 表。我也不想有“注册”选项。我希望管理员(属于“员工”)的选项能够添加用户,但不能使用注册页面。
我如何在不使用所有附加功能的情况下实现身份和角色?我正在使用.Net 5.0。
谢谢你的时间,请原谅英语 - 这对我来说也是新的。
解决方案
我明白你想做什么。可以创建自定义 AuthenticationStateProvider
但除非您已经拥有一个非常强大的数据库,否则我不会这样做。设置默认系统和迁移用户最多需要一个小时。设置您自己的自定义授权系统可能会花费您更长的时间。
在不同的表中拥有不同的用户并不是一个好的设计方案。他们都有姓名、电话号码、电子邮件等等——把它们放在一张桌子上。
推荐阅读
- k6 - 如何获取组的组持续时间值
- jquery - 如何在日期选择器上禁用当前一周之后的日期
- mysql - 当查询结果为空时,如何强制 MySQL 查询返回 0?
- git - git squash 旧提交(不是最后一个)
- jakarta-ee - 在 Wildfly 16 中启动 WAR 时出现 Infinispan NotSerializableException
- flutter - Flutter:在 Widget 的状态的 initState 中从 Navigator 获取传递的参数
- java - AES CTR - 如何附加到 CipherOutputStream?
- python - 为什么 Python 3 默认不将 python3 安装到虚拟环境中?
- javascript - 侦听 Socket.io 事件适用于服务器端,但不适用于客户端
- javascript - 程序动态选择