1

我正在使用 Thinktecture Identity Server V3 (Oauth) 进行自定义用户存储的身份验证,并且我想使用基于角色的授权。

我正在尝试使用自定义角色提供程序来检查角色。IsInRole 方法的用户名属性为空。如何将用户数据添加到当前上下文?

在这种情况下使用 RoleProvider 或将角色添加为声明是个好主意吗?如果我将它们添加到声明中,我该如何使用 [Authorize] 属性?我需要编写自定义 Authorize 属性吗?

4

1 回答 1

1

AuthorizeAttribute 确实适用于基于角色声明的授权,但听起来您的声明没有正确存储。

如果是这种情况,请参阅此Form Post 客户端(AccountController) 或此OWIN/Katana 客户端(启动类)以获得很好的示例。

此外,应将角色视为声明并将其处理。

如果您有兴趣,Thinktecture 也有自己的授权管理器包。有关更多详细信息,请参阅Dominick Baier 的博客文章。

于 2015-05-06T08:07:22.270 回答