我正在与社区一起开发 EPiServer CMS 7 MVC 站点。我正在尝试获取并显示成员头像(头像实际存在于贡献文件文件夹中)。这是我的代码:
var user = CurrentUser;
var image = user.GetPortraitUri(ImageSize.Huge).ToString();
可变图像获取值:
http://localhost:18000/EPiServerCommunity/Modules/ImageGallery/ImageHandler.ashx?imageId=7&thumbnailId=10
但在查看时,我只看到图像图标(例如无法上传或显示图像时)。当我尝试在新选项卡中打开此图像链接时,它会将我重定向到 EPiServer 登录页面。如果用户被授权,我不明白为什么它将我重定向到登录页面。有任何想法吗?
附加信息:我使用部署中心安装了 EPiServer Relate 站点。在 EditProfile 用户控件或 MyPage 上获取用户头像的方法相同。当我尝试使用获取的 URL 在新选项卡中打开图像时,我看到了它。我认为 Web.config 文件中可能有一些权限,但我不知道....
添加新信息(2014 年 11 月 10 日)。问题出在我的意思是在 EPiServerCommunity 部分的部分中。当我在以前安装的 EpiServer Relate 站点中更改为拒绝时,当我尝试打开图像时,我正在获取登录页面。在我的 web.config 文件中,我将所有拒绝更改为允许,但是当我尝试通过 url 打开图像时,我仍然得到登录页面。我猜 Episerver 在 web.config 文件中没有看到这部分。
添加新信息(2014 年 11 月 11 日)。我在部分添加了一个角色“每个人”。我看到当我尝试打开 localhost:18000\episerver 时,它会跳过登录页面。我将相同的角色“所有人”添加到 EpiServerCommunity 部分。现在看起来:
<location path="EPiServerCommunity">
<system.web>
<pages enableViewState="true" />
<authorization>
<allow roles="CommunityAdmins,CommunityModerators,Administrators,Everyone" />
<allow users="*" />
</authorization>
</system.web>
但是当我尝试通过 url 打开图像时,我仍然得到登录页面:(
PS 这个问题是我在EPiServer World上发布的,但我希望我能在这里更快地得到答案。