Tag: 提升權限

  • Aras Innovator – Method臨時提升權限及使用時機

    當Method需要用到SQL指令時,需透過臨時提升權限的方式來執行。而其他情境則幾乎不適用!即使臨時提升權限,仍無法以目標Identity的權限對ItemType做異動。

    Aras.Server.Security.Identity plmIdentity = Aras.Server.Security.Identity.GetByName(“Innovator Admin”);
    bool PermissionWasSet = Aras.Server.Security.Permissions.GrantIdentity(plmIdentity);
    Innovator inno = this.getInnovator();

    string sqlCmd = “UPDATE Document SET ineffective_date=GETUTCDATE() WHERE ID=’”+this.getID()+”‘”;
    inno.applySQL(sqlCmd);

    if (PermissionWasSet == true)
    Aras.Server.Security.Permissions.RevokeIdentity(plmIdentity);

    return this;