gpt4 book ai didi

asp.net-mvc-4 - BetterCMS 与 MVC4 简单成员(member)提供者

转载 作者:行者123 更新时间:2023-12-02 08:38:01 24 4
gpt4 key购买 nike

我已经在我的 MVC4 应用程序中设置了 BetterCMS。它似乎在工作,除了我无法弄清楚如何配置它以使用 MVC4 互联网应用程序附带的简单成员(member)提供程序。

http://www.devbridge.com/articles/better-cms-for-developers

请帮忙!谢谢

编辑:我使用 Internet 模板创建了我的 MVC4 应用程序,该模板随简单成员(member)提供程序一起配置并运行。我想让那些我已经“注册”为 BetterCMS 用户的成员。

最佳答案

如果您想使用 Better CMS,请使用 NuGet 中的 BetterCms.Module.Users 模块及其角色提供程序、成员资格提供程序和用于管理用户的 UI。如何设置用户模块,您可以阅读BetterCMS wiki pages on Github

但如果您仍希望将 Better CMS 与 Simple Membership Provider 结合使用,请按照以下步骤操作。这就是我所做的,对我来说效果很好。

  1. 创建 MVC 4 解决方案并选择 Internet 模板
  2. 运行应用程序并创建用户
  3. 按照 Better CMS github wiki, section "Project Setup" 中说明的步骤安装 BetterCMS .
  4. 不要忘记从 RouteConfig 类中删除默认路由注册 (routes.MapRoute(name: "Default"....)。在 RouteConfig 类中注册下面的路由。之后可以通过 URL/home/访问 MVC 主页:

            routes.MapRoute("mvc-account-controller", "account/{action}/{id}", new
    {
    area = string.Empty,
    controller = "Account",
    action = "Login",
    id = UrlParameter.Optional
    });

    routes.MapRoute("mvc-home-controller", "home/{action}/{id}", new
    {
    area = string.Empty,
    controller = "Home",
    action = "Index",
    id = UrlParameter.Optional
    });
  5. 将角色提供程序和成员资格提供程序添加到 web.config(已找到解决方案 here):

            <roleManager enabled="true" defaultProvider="simple">
    <providers>
    <clear/>
    <add name="simple" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData"/>
    </providers>
    </roleManager>
    <membership defaultProvider="simple">
    <providers>
    <clear/>
    <add name="simple" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData"/>
    </providers>
    </membership>
  6. 按照说明将 LazyInitializer 添加到 global.asax here

  7. 从 AccountController 中删除 [InitializeSimpleMembership] 属性,因为数据库连接已经初始化。另外,SMP2.Filters.InitializeSimpleMembershipAttribute 类也可以删除。
  8. 创建管理员角色并将其分配给用户(可以使用 ASP.NET 配置或直接在数据库中完成)。例如,创建名称为“Role1”的角色。
  9. 有两种方法可以为用户设置管理员角色(您可以在 Better CMS Github Wiki, topic "CMS configuration" 中阅读更多内容):

    • 将您创建的角色设置为完全访问角色(cms.config,安全部分的 fullAccessRoles 属性设置为 fullAccessRoles="Role1" )
    • 在 cms.config 的安全部分添加角色映射:

          <customRoles>
      <add permission="BcmsEditContent" roles="Role1" />
      <add permission="BcmsPublishContent" roles="Role1" />
      <add permission="BcmsDeleteContent" roles="Role1" />
      <add permission="BcmsAdministration" roles="Role1" />
      </customRoles>
  10. 运行应用程序。转到 url/account/login 并使用在第 2 步中创建的管理员帐户登录。然后返回任何 CMS 页面,例如根页面 (/)。好了,您已作为管理员连接,并且 CMS 边栏可用于网站编辑。

关于asp.net-mvc-4 - BetterCMS 与 MVC4 简单成员(member)提供者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19314063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com