LINUX.ORG.RU

[java] [scala] authentication & authorization

 ,


0

2

В рамках изучения скалы (хотя вопрос совершенно не скала-специфичный) хочу попробовать написать микроинтырпрайз с клиент-серверной архитектурой. В нем нужно будет иметь возможность:

- заводить пользователей с паролями;

- аутентифицировать пользователей, пытающихся получить доступ к серверу;

- поддерживать набор ролей и прав на выполнение опр. функций.

В связи с этим вопрос — какие существуют в мире жабы способы организации сабжа а) полегче, б) посложнее, и с чего начать изучение их? Не занимался такими вещами раньше вообще никогда.

★★★

По моему опыту себе дешевле в итоге написать все ручками с использованием удобных батареек. Почему так? Потому, что секьюрити - это хороший такой, здоровенный кусок твоей бизнес-логики. Все слишком кастомное.

Что я юзаю, что бы сделать авторизацию: AOP(декларативно задавать пермишены), Memcached (хранить сессии), Hibernate (ходить в базу за аккаунтами).

Вринципе, есть Spring-Security. Но он какой-то сложный. Его кастомизировать можно. Но честно, в жопу все эти интерпрайзные поделки.

Есть еще JavaSecurity, но это вообще ужас, летящий на крыльях ночи - попытка объять необъятное.

dizza ★★★★★
()

case class и перечисления в помощь.

  object Status extends Enumeration {
	val Admin, User = Value
  }

  def parseCommand (cmd : commands.genericCommand) : Answer = {
	val result : Answer = if (login) (status, cmd) match {
		case (commands.userCommand, User)   => userCommand
		case (commands.adminCommand, Admin) => adminCommand
		case _ => unknown
	} else cmd match {
		case o : commands.login => login
		case o : commands.commandsList => commandsList
		case _ => unknown
	}

	return result
  }

например.

Rastafarra ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.