【发布时间】:2014-04-14 06:16:33
【问题描述】:
交叉邮件:https://orchard.codeplex.com/discussions/542161
我了解您可以通过用户角色锁定/保护内容类型,但我想提供一个选项来保护每个内容项。
我的方法是创建一个自定义部件(我们称之为 SecureContentPart),它有一个布尔值(最好是编辑器/管理中的复选框)。我将把部件附加到我想提供安全选项的类型上。在部件的驱动程序中,我检查布尔值以及用户是否经过身份验证。如果用户未经身份验证(匿名)并且布尔值为真(项目已锁定),我将抛出 OrchardSecurityException 基本上将其路由到登录/未经身份验证页面。
几个问题:
- 首先,这是合适的方法吗?
- RequestContext.HttpContext.User.Identity.IsAuthenticated 是验证当前用户是否经过身份验证的最佳方法吗?
- 如果我在身份验证模块中定义自定义部件,而附加部件是在内容类型的相应模块中执行的(事件模块中的事件 CT),我如何知道哪个先运行? (即,如果部件位于单独的模块上,则附加部件可能会在定义部件之前发生)在 auth 模块中将部件附件定义到 Content Types 是否更合适? (想让这些尽可能解耦)
谢谢!
【问题讨论】:
标签: authentication authorization orchardcms orchardcms-1.7