【发布时间】:2011-09-18 06:08:23
【问题描述】:
我最近开始为 MVC 3 进行开发,但从早些时候开始就有 C# 和 ASP.NET 方面的经验。所以我将从我想要完成的事情开始。我开发了一个用于托管文章的小型网站。我已经对该站点实施了基于 SQLServer 的成员资格管理。现在我想创建一个凭据系统,限制并允许正确的用户创建、删除和更新文章。有一个简单的解决方案,那就是这样做:
[Authorize(Roles="Admin")]
public ActionResult UpdateArticle(ArticleModel model, int articleid)
{
return View();
}
现在这真的很简单。我只是说只有“管理员”角色的成员才能更新文章。但这只是静态的。所以我在我的数据库中创建了一个凭证表,最后告诉我“第 5 条可以由角色 1、2、3 和 4 以及用户 A、b 和 C 编辑”。到目前为止,一切都很好。但是我将如何使用 Authorize 解决方案来实现呢?
我想做这样的事情:
[Authorize(getAuthorizedusers("update",this.articleid))]
其中 getAuthorizedusers 返回哪些用户和角色有权使用传递给它的 articleid 更新文章。
所以我在这里(至少)有两个问题: - 获取 Authorize 方法以接受多个用户和角色。 - 将发送给 UpdateArticle 方法的提供的 articleid 传递给 getAuthorizedusers 方法。
【问题讨论】:
标签: c# asp.net asp.net-mvc-3 authorization