Changes between Version 5 and Version 6 of OtherTopics


Ignore:
Timestamp:
02/27/26 05:04:20 (3 weeks ago)
Author:
221181
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OtherTopics

    v5 v6  
    116116}}}
    117117
     118=== Безбедност на база на податоци базирана на логика (Triggers) ===
     119
     120Користиме Database Triggers за да спроведеме безбедносни правила што не можат да бидат заобиколени од апликацијата. Поточно, спречуваме корисник да ја избрише сопствената account за да обезбедиме стабилност на системот и следење на активности.
     121
     122{{{
     123CREATE OR REPLACE FUNCTION stock_management.prevent_self_delete()
     124RETURNS TRIGGER AS $$
     125BEGIN
     126    IF OLD.username = current_setting('app.current_user', true) THEN
     127        RAISE EXCEPTION 'You cannot delete your own account.';
     128    END IF;
     129    RETURN OLD;
     130END;
     131$$ LANGUAGE plpgsql;
     132
     133CREATE OR REPLACE TRIGGER trg_prevent_self_delete
     134BEFORE DELETE ON stock_management.users
     135FOR EACH ROW EXECUTE FUNCTION stock_management.prevent_self_delete();
     136}}}
     137
    118138== Пеформанси - Индекси ==
    119139