Rätt att förändra: Endast creator skall ha rätt att ändra
Vote:
Jag vill åstadkomma en check att endast Creator av ett dokument får rätt att ändra. Denna kod fungerar:
int nCreatorNumber = ((PageBase)Page).CurrentPage.ACL.Creator;
bool bPublish = ((EPiServer.PageBase)Page).CurrentPage.ACL.QueryDistinctAccess(EPiServer.Security.AccessLevel.Publish);
bool bEdit = ((EPiServer.PageBase)Page).CurrentPage.ACL.QueryDistinctAccess(EPiServer.Security.AccessLevel.Edit);
if((bPublish && bEdit && nCreatorMemberNumber == UnifiedPrincipal.Current.Sid)
{
//Some action
}
Men vad händer vid LDAP-koppling om användare försvinner ur gruppen. Finns det risk för att ett SID-id återanvänds? Vad händer om en användare "återuppstår", dvs är borta ur gruppen men kommer tillbaka? En alternativ lösning är att använda
UnifiedPrincipal.Current.UserData.DisplayName och matcha det med en egen egenskap, typ property["CreatorName"]
Ingen av fallen klarar namnbyte av importerad domän/användarid. Använder man SID kan man (tror jag) byta användarid om det är EPiServer internt, dvs inte importerad, och ändå få rätt matching.
Vilket är säkrast?
MVH
Christian
int nCreatorNumber = ((PageBase)Page).CurrentPage.ACL.Creator; bool bPublish = ((EPiServer.PageBase)Page).CurrentPage.ACL.QueryDistinctAccess(EPiServer.Security.AccessLevel.Publish); bool bEdit = ((EPiServer.PageBase)Page).CurrentPage.ACL.QueryDistinctAccess(EPiServer.Security.AccessLevel.Edit); if((bPublish && bEdit && nCreatorMemberNumber == UnifiedPrincipal.Current.Sid) { //Some action }
Men vad händer vid LDAP-koppling om användare försvinner ur gruppen. Finns det risk för att ett SID-id återanvänds? Vad händer om en användare "återuppstår", dvs är borta ur gruppen men kommer tillbaka? En alternativ lösning är att använda UnifiedPrincipal.Current.UserData.DisplayName och matcha det med en egen egenskap, typ property["CreatorName"] Ingen av fallen klarar namnbyte av importerad domän/användarid. Använder man SID kan man (tror jag) byta användarid om det är EPiServer internt, dvs inte importerad, och ändå få rätt matching. Vilket är säkrast? MVH Christian