Tôi đang cố gắng sử dụng API ContentManagment của Tridion để truy xuất danh mục phân loại và từ khóa, nhưng tôi đang chạy vào lỗi Truy cập bị từ chối.Làm cách nào để cho phép người dùng mạo danh trong Tridion 2009?
tôi có phương pháp sau đây:
public Dictionary<string, string> GetKeywords(string tcmUri)
{
var result = new Dictionary<string, string>();
try
{
// _settings.ImpersonationUser = "MYDOMAIN/myusername"
using (var session = new Session(_settings.ImpersonationUser))
{
var category = new Category(new TcmUri(tcmUri), session);
var keywords = category.GetKeywords(new Filter());
if (keywords != null && keywords.Count > 0)
{
foreach (var keyword in keywords)
{
result.Add(keyword.Id.ToString(), keyword.Title);
}
}
}
}
catch (Exception ex)
{
Logger.Log.Error(
"Failed to retrieve keywords for '{0}'.".FormatWith(tcmUri), ex);
}
return result;
}
Người dùng Tôi đã có trong _settings.ImpersonationUser
có quyền truy cập vào các nội dung quản lý Tridion, được cấu hình như một quản trị viên, và đã được bổ sung cho người dùng Mạo danh trong "SDL Cấu hình Trình quản lý nội dung Tridion "snap-in.
Các lỗi tôi nhận được như sau:
System.Runtime.InteropServices.COMException (0x80040302):
<?xml version="1.0"?>
<tcm:Error xmlns:tcm="http://www.tridion.com/ContentManager/5.0"
ErrorCode="80040302" Category="16" Source="Kernel" Severity="2">
<tcm:Line ErrorCode="80040302" Cause="true" MessageID="16226">
<![CDATA[Access denied for the user MYDOMAIN\myuser.]]
<tcm:Token>MYDOMAIN\myuser</tcm:Token>
</tcm:Line>
<tcm:Details>
<tcm:CallStack>
<tcm:Location>SystemBLST.GetUserContext</tcm:Location>
<tcm:Location>SystemBLST.IBLSecurityST_GetUserContext</tcm:Location>
</tcm:CallStack>
</tcm:Details>
</tcm:Error>
Có ai có bất kỳ manh mối để những gì tôi đang làm sai? Cảm ơn bạn trước!