处理复杂类型时的索赔方法

时间:2015-03-12 14:18:50

标签: javascript c# asp.net-mvc claims-based-identity complextype

不确定如何以不会导致讨论的方式回答此问题。但是,我们正在构建商业应用程序。我们选择使用Identity作为我们的身份验证形式。

我们的应用程序安全性不适合传统的IsInRole,我们所做的一切都必须是动态的。

我们遵循像Windows文件安全性这样的模式。我们有SecurityObjects。 SecurityObjects来自一个分层的表。

然后,

SecurityObjects的SecurityObjectPermissions为Full,Read,Write,Deny。

设计是我们可以将这些用于我们需要应用安全性的任何内容。

我将用于此问题的示例是我们的应用程序是模块化的,并且有多个插件。

PluginA& PluginB将是SecurityObjects。然后,每个SecurityObject都有子SecurityObjects。

PluginA  |   ---查看1   ---查看2

PluginB
 |   ---查看11   ---查看12

然后,用户或角色可能会将SecurtyObjectPermissions提供给上面的任何或所有安全对象。

最初,我们会创建复杂的声明类型,因为我们需要关联View11和在我们的说法中,View12作为PluginB的孩子。

但是,我一直在阅读它,建议不要创建自定义的复杂声明类型。

现在我们的大多数代码都是MVC / C#但是我们会在需要时使用jquery。如果我们需要在javascript中执行所有操作,我们希望确保从javascript阅读我们的声明时不会有任何问题。

所以问题是,是否有人会建议我们使用样本或文章,文件等?

提前感谢您提出任何意见或建议。

1 个答案:

答案 0 :(得分:0)

听起来你会更好地考虑实施ClaimsIdentity结构。这就像您作为用户在Windows中拥有的声明,可以根据需要进行细化。

以下是Microsoft提供的有关实现它的一些文档,但有很多实用示例ClaimsIdentity