标签: umbraco

Umbraco 覆盖或扩展默认成员资格提供程序

我想在 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

2
推荐指数
1
解决办法
2154
查看次数

C# 将字符串转换为数组

所以我正在使用 umbraco 并使用标签数据类型。我试图获取添加到给定节点的所有标签并将它们放入字符串数组中,但是当我获取该值时,它似乎总是像这样出现:

"[\"标签1\",\"标签2\"]"

如何将数组的这个字符串转换回常规数组?到目前为止我所得到的只是一串单独的字符

c# arrays umbraco umbraco7

2
推荐指数
1
解决办法
2698
查看次数

如何在 Umbraco 中获取嵌套字典项?

我使用 Umbraco 7.4.3。

我创建了几个字典项目(带有几个子项目的腐烂项目),如下所示:HomePage Intro Body

当我尝试获取子项的字典值时,我得到了空字符串,但是对于根项,我得到了正确的结果。

例如,此调用有效 - 根据当前语言返回值:

@Umbraco.GetDictionaryValue("主页")

但此调用不起作用 - 返回空字符串:

@Umbraco.GetDictionaryValue("HomePage.Intro")

请帮忙!

umbraco umbraco7

2
推荐指数
1
解决办法
1017
查看次数

如何从 Umbraco 中的特定文化中获取内容

我有双语网站,德语设置为默认语言,我正在尝试从 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)

但没有成功。

c# asp.net umbraco umbraco8

2
推荐指数
1
解决办法
1459
查看次数

在umbraco 4.7中添加自定义404页面

我正在尝试将自定义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键激活自定义错误页面?

error-handling umbraco

1
推荐指数
1
解决办法
4352
查看次数

Umbraco和TFS - 包括隐藏文件

我在VS2012中设置了一个umbraco 6.*站点,并使用TFS进行源代码管理.

如果我通过umbraco后端向umbraco站点添加模板,媒体项等,新文件不会自动包含在解决方案中,我必须手动包含这些文件,以便可以将它们签入源代码控制.

当安装包等或在不同文件夹位置创建大量文件的任何东西时,这可能变得很快无法管理.

有没有人有解决方案来保证所有文件都被检入源代码管理?

更改源控件不是一种选择.

谢谢

tfs umbraco visual-studio-2012

1
推荐指数
1
解决办法
2110
查看次数

如何使用PetaPOCO(Umbraco 6,MVC)修改现有数据库表(添加/删除列)

我有一个具有一些自定义功能的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

c# sql umbraco petapoco umbraco6

1
推荐指数
1
解决办法
2880
查看次数

无法上传大于4Mb的Umbraco图像

我正在使用Umbraco 7.2.1并在媒体部分上传一些图像.我认为Umbraco的图像大小限制为4Mb.当我尝试上传更大尺寸的图像时,它们只是简单地消失了.

Umbraco应该有一条消息或者某些东西来通知大小限制被越过,但这是一个完全不同的问题.

我的问题是这个限制如何增加?

settings umbraco umbraco7

1
推荐指数
1
解决办法
1272
查看次数

如何让Umbraco与NWebSec内置的CSP Report事件处理程序相结合?

我正在使用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抛出的事件?

c# asp.net-mvc umbraco nwebsec

1
推荐指数
1
解决办法
236
查看次数

禁用的Umbraco用户仍然出现在后端

我感谢你不能从真正意义上的Umbraco中删除用户,因为SQL数据库中的参照完整性是否存在任何与之关联的节点

我有一个数据库,随着时间的推移创建了几个开发/测试用户,我需要将数据库交付给客户端.

如果我禁用用户(同时选择"禁用用户"和"禁用Umbraco访问"),如何阻止它们出现在后端用户列表中?我不介意他们在数据库中保持休眠状态,但不希望客户端(谁将以管理员身份登录)看到它们

umbraco content-management-system umbraco7

1
推荐指数
1
解决办法
406
查看次数