【问题标题】:NOPCommerce password protect forum so only some have accessNOPCommerce密码保护论坛,所以只有一些人可以访问
【发布时间】:2012-12-29 05:34:10
【问题描述】:

我正在尝试保护 NOPCommerce 2.8 网站的论坛(板)文件夹。我想使用现有的会员提供者和附带的角色。我只希望角色组“论坛版主”能够查看论坛中的内容,并且任何其他角色组或匿名用户在点击论坛时将被重定向到登录页面。

这对于 .aspx 页面来说很容易,我会说“,这会阻止匿名用户访问,但对于 .cshtml 页面,它不起作用。

有没有人有一个简单的解决方案来使用 nopcommerce 的现有角色安全性来保护论坛?

谢谢

【问题讨论】:

    标签: nopcommerce


    【解决方案1】:

    如果您了解 ActionFilters,您可以通过插件轻松实现结果。您需要做的就是检查 ActionFilters 的“OnActionExecuting”方法中的角色。如果您在 nopCommerce.com 论坛上搜索,我还写了一些帖子来解释这一点。 :)

    【讨论】:

    • 感谢您的回复。我搜索了您的所有帖子,但没有看到任何有关为用户身份验证创建操作过滤器的内容。也许我忽略了它?
    • 必须有一种更简单的方法在 nop 中进行身份验证?在 asp.net 中似乎要容易得多,我可以将 web.config 设置为“允许角色”。我什至不知道从哪里开始插入动作过滤器。我的 nopcommerce 没有控制器文件夹。或任何其他 authentication.cs 页面供我使用。他们如何进行身份验证?我怎样才能访问它?感谢您的帮助
    【解决方案2】:

    这是我在 Nopcommerce 论坛中的某人的帮助下保护论坛的方法

    @using Nop.Core.Domain.Customers;
    @using Nop.Services.Customers;
    @using Nop.Core;
    @{
    bool customerHasRoleX = EngineContext.Current.Resolve<IWorkContext>().CurrentCustomer.IsInCustomerRole("Administrators");
    bool customerHasRoleY = EngineContext.Current.Resolve<IWorkContext>().CurrentCustomer.IsInCustomerRole("ForumModerators");
    }
    
    @if ((customerHasRoleX == true) | (customerHasRoleY == true)) {
    
    }
    else
    {
        Response.Redirect("~/login?ReturnUrl=%2fboards");
    }
    

    【讨论】:

      猜你喜欢
      • 2011-10-24
      • 2015-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多