我在我的MVC4应用程序中设置了BetterCMS。它似乎正在工作,除了我无法弄清楚如何配置它以使用MVC4互联网应用程序附带的简单成员资格提供程序。
http://www.devbridge.com/articles/better-cms-for-developers
请帮忙!感谢
编辑:我使用Internet模板创建了我的MVC4应用程序,该模板附带了简单成员资格提供程序,已经配置并正常工作。我想让那些我已经“注册”为BetterCMS用户的成员。答案 0 :(得分:6)
如果您想使用Better CMS,请使用NuGet的BetterCms.Module.Users模块及其角色提供程序,成员资格提供程序和用于管理用户的UI。如何设置用户模块,您可以阅读BetterCMS wiki pages on Github
但如果您仍希望将Better CMS与简单会员提供商一起使用,请按照以下步骤操作。这就是我所做的,它对我来说很好。
不要忘记从RouteConfig类中删除默认路由注册(routes.MapRoute(name: "Default" ....
)。
在RouteConfig类中注册以下路由。之后,可以通过URL / home /:
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
});
向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>
按照here
有两种方法可以为用户设置管理员角色(您可以在Better CMS Github Wiki, topic "CMS configuration"中阅读更多内容):
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>
运行应用程序。转到url / account / login并使用admininstrator帐户登录,该帐户是在第2步中创建的。然后返回任何CMS页面,例如根页(/)。 在这里,您以管理员身份连接,CMS侧栏可用于网站编辑。