不确定如何以不会导致讨论的方式回答此问题。但是,我们正在构建商业应用程序。我们选择使用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阅读我们的声明时不会有任何问题。
所以问题是,是否有人会建议我们使用样本或文章,文件等?
提前感谢您提出任何意见或建议。
答案 0 :(得分:0)
听起来你会更好地考虑实施ClaimsIdentity
结构。这就像您作为用户在Windows中拥有的声明,可以根据需要进行细化。
以下是Microsoft提供的有关实现它的一些文档,但有很多实用示例ClaimsIdentity