ForgeTotal.js 5
pl

Total.js 5

Wymaganie użytkownika lub uprawnienia w akcji

Total.js 5 · total5@0.0.19 actionsauthsecurity Uruchomiono z Total.js 5

Akcja może chronić się sama:

  • user: true wymaga uwierzytelnionego użytkownika (inaczej 401); user: false dopuszcza tylko żądania anonimowe
  • permissions: 'a,b' wymaga, by użytkownik miał co najmniej jedno z wymienionych uprawnień. Total.js czyta user.permissions (lub user.roles), co może być tablicą stringów albo obiektem
  • użytkownicy z sa: true lub su: true (superadministratorzy) przechodzą każdą kontrolę

Użytkownik pochodzi z AUTH(), jak w przepisie o uwierzytelnianiu.

definitions/auth.js
AUTH(function($) {

	var users = {
		'token-reports': { id: '1', name: 'Anna', permissions: ['reports'] },
		'token-sales': { id: '2', name: 'Boris', permissions: ['sales'] },
		'token-admin': { id: '3', name: 'Root', sa: true }
	};

	var user = users[$.cookie('auth')];
	user ? $.success(user) : $.invalid();
});
definitions/reports.js
NEWACTION('Reports/read', {
	name: 'Read reports',
	user: true,
	permissions: 'reports,audit',
	action: function($) {
		$.success($.user.name);
	}
});
controllers/reports.js
exports.install = function() {
	ROUTE('GET /reports/ --> *Reports/read');
};