SShortSingh.
Back to feed

Replace Scattered Role Checks with a Three-Level Permission Tree

0
·1 views

Developers often scatter inline role checks like if (role === 'admin') across codebases, which becomes difficult to manage as apps grow in complexity. A cleaner approach defines one structured permission tree per role, organized across three levels: page, section, and action (read or write). A single generic function, checkAccess, walks this tree and returns true or false, failing closed whenever a node is missing. Named helper functions like canEditReportsExport wrap the core checker, keeping each permission path defined in exactly one place and usable in nav links, route guards, and UI controls. The pattern suits most CRUD-style applications well, though it has known limitations around attribute-based rules, explicit deny overrides, and large permission matrices.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

LiteLLM disaster recovery requires database, config, and decryption key together

LiteLLM, an AI gateway proxy, is not stateless in team deployments — its PostgreSQL database stores virtual keys, user and team records, budgets, rate limits, and spend history. A full recovery requires three components restored together: the PostgreSQL database, the gateway configuration file, and the decryption key used to protect stored credentials. Restoring only the container or only the database is insufficient to return the system to a working state. The decryption key should be stored separately from the database backup to avoid keeping encrypted data and its key in the same location. Operators are advised to rehearse restores on throwaway instances and treat a never-tested backup as unverified.

0
ProgrammingHacker News ·

OpenNode Offers Bitcoin Payment Processing for Businesses

OpenNode is a Bitcoin payment processor designed to help businesses accept cryptocurrency transactions. The platform provides tools that enable merchants and developers to integrate Bitcoin payments into their services. It was shared on Hacker News, where it received 18 points and one comment. The service aims to simplify Bitcoin payment infrastructure for companies looking to adopt crypto-based transactions. No specific launch date or company details were provided in the submission.

0
ProgrammingDEV Community ·

Five Structured Output Patterns That Make AI Coding Agents More Reliable

A developer running a fully autonomous coding agent found that parsing AI responses with regex and string matching led to repeated failures in unattended production runs. Ambiguous phrasing, markdown formatting, and mid-answer reasoning changes caused the same parser logic to misread opposite outcomes. The fix was switching from free-form prose responses to schema-validated structured output using forced tool calls via the Anthropic API. Instead of asking the model to describe its decision, the approach forces it to populate a predefined JSON contract, eliminating format ambiguity entirely. The author outlines five specific patterns using Claude's tool-use feature that transformed the agent from unreliable to trustworthy in production.

Replace Scattered Role Checks with a Three-Level Permission Tree · ShortSingh