我想在 Umbraco 6.1.6 中使用不同的提供程序,例如我有这个
<membership defaultProvider="UmbracoMembershipProvider" userIsOnlineTimeWindow="15">
<providers>
<clear />
<add name="UmbracoMembershipProvider" type="umbraco.providers.members.UmbracoMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Website" passwordFormat="Hashed" umbracoApprovePropertyTypeAlias="isActive" umbracoLastLoginPropertyTypeAlias="loginDate" />
<add name="UsersMembershipProvider" type="umbraco.providers.UsersMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" />
</providers>
</membership>
Run Code Online (Sandbox Code Playgroud)
但我想用这个
<membership defaultProvider="TechBureauMembershipProvider" userIsOnlineTimeWindow="15">
<providers>
<clear/>
<add name="TechBureauMembershipProvider" type="TechBureau.Web.providers.TechBureauMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Website" passwordFormat="Hashed" umbracoApprovePropertyTypeAlias="isActive" umbracoLastLoginPropertyTypeAlias="loginDate"/>
<add name="UsersMembershipProvider" type="umbraco.providers.UsersMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false"/>
</providers>
</membership>
Run Code Online (Sandbox Code Playgroud)
因为我想覆盖 ResetPassword 密码功能不做任何事情。
public class TechBureauMembershipProvider : UmbracoMembershipProvider
{
/// <summary>
/// Overriding this so that it does nothing, reseting a password to a random password …Run Code Online (Sandbox Code Playgroud) 所以我正在使用 umbraco 并使用标签数据类型。我试图获取添加到给定节点的所有标签并将它们放入字符串数组中,但是当我获取该值时,它似乎总是像这样出现:
"[\"标签1\",\"标签2\"]"
如何将数组的这个字符串转换回常规数组?到目前为止我所得到的只是一串单独的字符
我使用 Umbraco 7.4.3。
我创建了几个字典项目(带有几个子项目的腐烂项目),如下所示:HomePage Intro Body
当我尝试获取子项的字典值时,我得到了空字符串,但是对于根项,我得到了正确的结果。
例如,此调用有效 - 根据当前语言返回值:
@Umbraco.GetDictionaryValue("主页")
但此调用不起作用 - 返回空字符串:
@Umbraco.GetDictionaryValue("HomePage.Intro")
请帮忙!
我有双语网站,德语设置为默认语言,我正在尝试从 SurfaceController 获取英语内容节点,如下所示:
Umbraco.Content(ID);
Run Code Online (Sandbox Code Playgroud)
我试图像这样改变当前的文化:
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
Run Code Online (Sandbox Code Playgroud)
但没有成功。
我正在尝试将自定义404页面添加到umbraco中,即使我让它们在多个项目中工作,在这个umbraco 4.7中它也不起作用.
所以,我有什么,多个站点,每个都有几种语言.
我的umbracoSettings包含这个:
<errors>
<error404>
<errorPage culture="default">1842</errorPage>
<errorPage culture="en-GB">1842</errorPage>
<errorPage culture="nl-BE">1843</errorPage>
<errorPage culture="fr-BE">1844</errorPage>
</error404>
</errors>
Run Code Online (Sandbox Code Playgroud)
就像在其他项目中一样,虽然我一直在获取IIS 404页面.
所以,我尝试了本主题中的解决方案, passThrough和自定义解决方案似乎都不起作用
passThrough给出了:
未找到页面没有umbraco文档与网址" http://www.mysite.be/en/facebook " 匹配
umbraco尝试使用此xpath查询匹配它'/ domainprefixes-are-used-so-i-do-not-work')
通过添加umbraco文档的ID以在/config/umbracoSettings.config文件中显示为404页面,可以将此页面替换为自定义404页面.只需将id添加到'/ settings/content/errors/error404'元素即可.
有关更多信息,请访问umbraco网站上有关自定义404的信息.
和自定义给出了这个结果:
未找到页面没有umbraco文档与网址' http://solex.d01-win-dev.be/non-existing-page.aspx?404 ;http ://solex.d01-win-dev.be:80/匹配en/facebook '
umbraco尝试使用此xpath查询匹配它'/ domainprefixes-are-used-so-i-do-not-work')
通过添加umbraco文档的ID以在/config/umbracoSettings.config文件中显示为404页面,可以将此页面替换为自定义404页面.只需将id添加到'/ settings/content/errors/error404'元素即可.
有关更多信息,请访问umbraco网站上有关自定义404的信息.
它看起来好像他没有走向umbracoSettings来获取我的error404映射.在4.7中你做了一些改变,你需要通过web.config键激活自定义错误页面?
我在VS2012中设置了一个umbraco 6.*站点,并使用TFS进行源代码管理.
如果我通过umbraco后端向umbraco站点添加模板,媒体项等,新文件不会自动包含在解决方案中,我必须手动包含这些文件,以便可以将它们签入源代码控制.
当安装包等或在不同文件夹位置创建大量文件的任何东西时,这可能变得很快无法管理.
有没有人有解决方案来保证所有文件都被检入源代码管理?
更改源控件不是一种选择.
谢谢
我有一个具有一些自定义功能的Umbraco CMS应用程序,为此我使用了PetaPOCO将数据存储在数据库中。我创建了POCO和一个Umbraco事件,该事件在应用程序启动时触发以创建表(如果该表不存在):
public class RegisterEvents : ApplicationEventHandler
{
//This happens everytime the Umbraco Application starts
protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
//Get the Umbraco Database context
var db = applicationContext.DatabaseContext.Database;
//Check if the DB table does NOT exist
if (!db.TableExist("MyTable"))
{
//Create DB table - and set overwrite to false
db.CreateTable<MyPetaPOCO>(false);
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何在不直接访问数据库的情况下修改现有数据库(我想添加一列)?我需要使用代码,因为主机尚未提供访问权限。我认为我应该能够在此ApplicationStarted重写事件中执行此操作,但我不知道如何操作。
编辑
我应该使用Somel Fluent Migrator吗
我正在使用Umbraco 7.2.1并在媒体部分上传一些图像.我认为Umbraco的图像大小限制为4Mb.当我尝试上传更大尺寸的图像时,它们只是简单地消失了.
Umbraco应该有一条消息或者某些东西来通知大小限制被越过,但这是一个完全不同的问题.
我的问题是这个限制如何增加?
我正在使用Umbraco CMS版本7的网站上工作.我正在使用NWebSec在网站上实现CSP标头.NWebSec具有内置功能,可在发生CSP违规时引发.Net事件.通常你会用这样的事情来抓住那个事件:
protected void NWebSecHttpHeaderSecurityModule_CspViolationReported(object sender, CspViolationReportEventArgs e)
{
var report = e.ViolationReport;
var serializedReport = JsonConvert.SerializeObject(report.Details);
// Do a thing with the report
}
Run Code Online (Sandbox Code Playgroud)
在Global.asax.cs文件中.但据我所知,Umbraco抢占了Global.asax.cs文件,它可以播放任何被抛出的事件.我有一个文件,其中包含一些自定义事件处理程序,如:
public void OnApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
Run Code Online (Sandbox Code Playgroud)
处理通常在Global.asax.cs文件中的标准应用程序启动代码,但是将NWebSec事件处理程序放在同一个文件中并不起作用.大概是因为它使用.Net事件处理程序语法而不是Umbraco替换它的任何东西.
如何访问NWebSec抛出的事件?
我感谢你不能从真正意义上的Umbraco中删除用户,因为SQL数据库中的参照完整性是否存在任何与之关联的节点
我有一个数据库,随着时间的推移创建了几个开发/测试用户,我需要将数据库交付给客户端.
如果我禁用用户(同时选择"禁用用户"和"禁用Umbraco访问"),如何阻止它们出现在后端用户列表中?我不介意他们在数据库中保持休眠状态,但不希望客户端(谁将以管理员身份登录)看到它们