加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 我们如何在ASP.NET身份中实现权限?

发布时间:2020-12-15 17:40:06 所属栏目:百科 来源:网络整理
导读:我们了解如何使用WebApi在ASP.NET标识中实现身份验证和授权. 例如,我们可以登录用户,然后检索他的安全令牌和角色. 我们现在想要添加权限.例如,用户steve可能处于admin角色.现在我们要为管理员角色分配读取,编辑和删除权限.我们如何在ASP.NET身份中做到这一点
我们了解如何使用WebApi在ASP.NET标识中实现身份验证和授权.
例如,我们可以登录用户,然后检索他的安全令牌和角色.

我们现在想要添加权限.例如,用户steve可能处于admin角色.现在我们要为管理员角色分配读取,编辑和删除权限.我们如何在ASP.NET身份中做到这一点? ASP.NET身份中是否存在现有权限基础结构?

解决方法

我扩展了ASP.NET Identity,以便在描述时允许权限.我这样做是为了将安全模型与应用程序模型分离.将角色放入AuthorizeAttribute的传统方法的问题是您必须在设计应用程序的同时设计安全模型,如果进行任何更改,则必须重新编译和重新部署应用程序.通过我提出的方法,您可以在自定义AuthorizeAttribute中定义资源和操作,其中操作类似于权限.现在你装饰这样的方法:
[SimpleAuthorize(Resource = "UserProfile",Operation = "modify")]
public ActionResult ModifyUserProfile()
{
    ViewBag.Message = "Modify Your Profile";
    return View();
}

然后,您可以将资源/操作分配给数据库中的角色,在部署期间配置安全模型,并且可以在不重新部署的情况下对其进行修改. I wrote about this approach using SimpleMembership here.以及后来的ported it to ASP.NET Identity here.这些文章链接到完整的源代码和参考应用程序.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读