【发布时间】:2014-04-20 08:04:25
【问题描述】:
我一直在关注这篇关于为新的 ASP.NET 身份系统创建自定义“存储提供程序”的帖子,到目前为止,它已被证明非常有用;
Creating a custom MySQL Identity Provider
我没有使用 MySQL,我使用的是 RavenDB - 是的,我已经查看了可用的 RavenDB 身份提供程序 - 这不是我的问题。我的问题来自IUserRoleStore<IdentityUser>,然后是IdentityRole,以及RoleStore。
我看到他们被创建了——我什至看到他们如何访问数据以查看用户是否在某个角色中,等等。但后来,我只看到了这个 ..
[Authorize(Roles = "Admin")]
public AccountController : Controller {
/// ... etc .etc..
}
这是我彻底迷路的地方。我查阅了几十篇关于新的 ASP.NET 身份系统的教程,但我无法弄清楚在什么时候某些东西与 AuthorizeAttribute 相关联。它怎么知道使用我制作的RoleStore?它怎么知道使用我制作的IdentityRole?它在验证什么?
这些都是我在任何地方都找不到的东西,这让我有点发疯。我发现的所有东西都一直插入到实体框架中,这不是我想要使用的——它就是开箱即用的方式,而且它们似乎停止了,没有告诉你如何确保Authorize像你想要的那样工作它到。
【问题讨论】: