Sitecore-根据要求获取有关媒体项目的信息

CosX

在Sitecore解决方案中下载媒体项目时,我们一直遇到问题。我们要对下载媒体的用户进行身份验证。如果用户无权访问该文件,则需要重定向该用户/取消下载。

决定重定向的是该媒体项目(具有ID的字段)上的元数据。

我们制作了一个模块:

<add type="Lib.CustomMediaRequestSessionModule, Lib" name="CustomMediaRequestSessionModule" />

代码:

public class CustomMediaRequestSessionModule : IHttpModule 
{
    public void Init(HttpApplication application)
    {
        application.BeginRequest += Application_BeginRequest;
    }

    private void Application_BeginRequest(object source, EventArgs e)
    {
        var application = (HttpApplication)source;
        var currentContext = HttpContext.Current;

        if (currentContext.Request.Url.ToString().ToLower().Contains("/~/media/"))
        {
            //Here we want to authenticate the user
        }
    }

    public void Dispose()
    {
    }
}

我们从请求中获得的唯一信息是文件的路径。“ /~/media/path/to/file.doc”。

还有另一种方法可以从媒体项目中获取更多信息吗?在Sitecore中,有没有更好的方法可以执行相同的操作?

马雷克·穆西拉克

您可以使用MediaManager.ParseMediaRequest方法来获取媒体项目:

MediaRequest request = MediaManager.ParseMediaRequest(HttpContext.Current.Request);

if (request == null)
{
    return false;
}

Media media = MediaManager.GetMedia(request.MediaUri);

这里有一篇不错的博客文章,解释了如何限制Sitecore中的媒体项目限制对Sitecore媒体项目的访问

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取有关Sitecore项目删除的完整路径

来自分类Dev

Sitecore媒体项目和URL

来自分类Dev

如何获取Sitecore兄弟项目的数组?

来自分类Dev

如何获取Sitecore兄弟项目的数组?

来自分类Dev

Sitecore:Sitecore域用户的统计信息

来自分类Dev

项目的 Sitecore 增量发布

来自分类Dev

根据SiteCore中的显示名称获取项目

来自分类Dev

如何从Sitecore媒体项目中检索视频详细信息?

来自分类Dev

Sitecore Unicorn项目同步

来自分类Dev

Sitecore词典项目

来自分类Dev

Sitecore项目-Localhost挂起

来自分类Dev

Sitecore词典项目

来自分类Dev

如何从Sitecore获取数据

来自分类Dev

从WebAPI调用返回Sitecore媒体项目

来自分类Dev

具有IP的Sitecore项目和媒体网址

来自分类Dev

具有IP的Sitecore项目和媒体网址

来自分类Dev

Sitecore媒体库MaxSize

来自分类Dev

排除克隆项目的sitecore xpath查询

来自分类Dev

排除克隆项目的sitecore xpath查询

来自分类Dev

Sitecore项目-Localhost刚刚挂起

来自分类Dev

Sitecore Droptree不会排除项目

来自分类Dev

Sitecore。从占位符读取项目

来自分类Dev

Sitecore网站作为现有非Sitecore网站的子站点

来自分类Dev

获取按创建日期排序的Sitecore项目

来自分类Dev

在Sitecore 6.5中按ID获取项目

来自分类Dev

Sitecore中是否可以显示用户无权访问的媒体库项目的链接?

来自分类Dev

Sitecore-获取所有编入索引的项目

来自分类Dev

Sitecore索引中的urllink返回带有“ / sitecore / shell /〜/ media / ...”的媒体URL

来自分类Dev

Sitecore:如何自定义媒体网址