c# - 来自现有数据库的自定义基于角色的授权
问题描述
目前,我正在 ASP.net 中开发一个 Web 应用程序,直到现在我已经使用 ASP.Net 中的 Identity 成功登录后对用户进行了身份验证。现在我想根据数据库中可用的不同角色授权用户。我有一个包含 3 个表的数据库,即用户、角色和用户角色。一个用户可以拥有多个角色。在这种情况下,我如何在我的项目中实现基于角色的授权。我已经使用身份进行了自定义身份验证,并从我的项目中删除了实体。
public void ConfigureAuth(IAppBuilder app)
{
// Configure the custom user manager and custom signin manager to use a single instance per
request
app.CreatePerOwinContext<CustomUserManager>(CustomUserManager.Create);
app.CreatePerOwinContext<CustomSignInManager>(CustomSignInManager.Create);
}
有了这个,简单[Authorize]
的属性对我来说很好。我怎样才能创造出类似的东西[Authorize(Roles="Customer")]
?我应该为此使用像 IRole 这样的东西还是只覆盖 Authorize Attribute 方法就足够了?两者相同还是不同?谁能帮我解决这个问题?
解决方案
推荐阅读
- magento2 - Magento 2 安装后不加载 css 或 js:升级
- asp.net - 带有身份的网络表单,需要迭代用户的角色
- reactjs - 如何使用 React.js 在 React.createElement() 中传递回调函数
- amazon-s3 - 如何配置 mlflow 跟踪服务的工件存储以使用 minio STS 生成的 acces_key、secret_key 和 session_token 连接到 minio S3
- php - 如何保存和更新可重复自定义字段的复选框
- r - R Shiny navbarPage中的静态图像(png)
- kubernetes - Prometheus /etc/config/prometheus.yml:Kubernetes 没有这样的文件或目录
- linq - 为什么 EF Core DbSet LINQ 找不到存在的值?
- xamarin.forms - Xamarin 表单:在外部应用程序中打开 PDF 文件
- vue.js - Vuejs 和 axios 的数组问题