DHTMLX Docs & Samples Explorer

Security

dhtmlxConnector is open to external access of another programs that's why any external user is allowed to change data in DB, thus adding some kind of session based authentication is strongly recommended. Built in security manager allows to limit connector for certain operations only.

    connector.Request.AllowedAccess = AccessRights.Select; //allow Select action only
    connector.Request.AllowedAccess = AccessRights.Insert; //allow Insert action only
    connector.Request.AllowedAccess = AccessRights.Update; //allow Update action only
    connector.Request.AllowedAccess = AccessRights.Delete; //allow Delete action only
    connector.Request.AllowedAccess = AccessRights.All; //allow all action
    connector.Request.AllowedAccess = AccessRights.None; //deny all actions

Access rights can be combined:

    connector.Request.AllowedAccess = AccessRights.Select | AccessRights.Update; //allow Select and Update actions

By default connector allows all for types operation.

Transactions

Connector's allow transactions usage, for data create|update|delete operations ( be sure that used DB engine has support for transactions ). They can be enabled as

    connector.Request.TransactionMode = TransactionMode.PerRequest; //One request - one big common transaction 
    connector.Request.TransactionMode = TransactionMode.PerRecord;  //Separate transactions per record
    connector.Request.TransactionMode = TransactionMode.None;       //Don't use transactions

PerRequest transaction mode

  • Component uses single transaction for all records inside single request.
  • If any operation fails - all record operations will be rolled back, all updated rows will be returned with error status
  • If custom validation was assigned and block any record - all records inside request will be blocked

PerRecord transaction mode

  • Component uses separate transactions for each record in request
  • If any operation fails, it will not affect other operations