2

我觉得我可能在这里走错了路,并希望有人能够做一点路线修正!

我正在创建一个使用 Windows 身份验证的 Web 应用程序。但是,我希望将自定义声明/角色分配给特定的 Windows 用户,我计划将其存储在 SQL 数据库中。

我认为这样做的一种方法是在我的应用程序的 web.config 中启用 Windows 身份验证,但要从 WIF 添加一个 AuthenticationManager,它可以将自定义声明(直接来自数据库)添加到主体/身份。然后 AuthorizationManager 将处理对特定控制器操作的授权。

我现在遇到的问题是我的 Authentication 和 AuthorizationManagers 没有被调用。我不确定我缺少什么(它们已在 web.config 中注册),但我怀疑可能是因为我正在使用 Windows 身份验证......?此外,我的 Authorize 属性没有调用 AuthorizationManager,可能是因为我需要创建一个新属性。

这是一条可行的路线,还是我应该考虑创建一个自定义 RoleProvider ?

4

1 回答 1

2

ClaimsAuthenticationManager 不会自动调用 - FAM 调用它。

也就是说 - 您可以自己调用它,例如在 Post_AuthenticateRequest 中,然后使用 SAM 设置一个 cookie。那是完全可行的。

于 2014-04-08T16:39:34.303 回答