Vielleicht fehlt die using-Anweisung?
Versuchen Sie, den folgenden Code:
@using Orchard.ContentManagement
@{
var roles = WorkContext.CurrentUser.As<Orchard.Roles.Models.UserRolesPart>().Roles;
}
bearbeiten 1
Es scheint, wie der Benutzer nicht authentifiziert ist. Die Codezeile oben gepostet erstellt die folgenden Anrufe:
Orchard.Environment.WorkContextImplementation.GetState("CurrentUser")
Orchard.Environment.WorkContextImplementation.FindResolverForState("CurrentUser")
- durch eine Liste von
IWorkContextStateProvider
aufzählt, können in dieser Liste sollte die folgende Umsetzung sein: Orchard.Security.CurrentUserWorkContext
Orchard.Security.CurrentUserWorkContext.Get("CurrentUser")
IAuthenticationService.GetAuthenticatedUser()
-> die den Benutzer zurückgibt, wenn authentifiziert
So scheint es, dass jeder dieser Schritte ohne den Benutzer zurückkehrt. Ich schlage vor, Sie erstellen einen Haltepunkt in Orchard.Environment.WorkContextImplementation.GetState()
, um herauszufinden, wo das Problem liegt.
Die using-Anweisung ist da. Ich habe den Code vergebens ausprobiert. Es hat für dich funktioniert? – matthewjamesr
Ist es wichtig, dass die Ansicht in einem Thema ist? – matthewjamesr
@matthewjamesr Ich denke, es ist ein Authentifizierungsproblem, siehe ** bearbeiten 1 ** – ViRuSTriNiTy