首页 > 解决方案 > 来自现有数据库的自定义基于角色的授权

问题描述

目前,我正在 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 方法就足够了?两者相同还是不同?谁能帮我解决这个问题?

标签: c#asp.net-mvc

解决方案


推荐阅读