Ajuda com Permissão de Acessos aos Usuários

Pessoal, gostaria de uma ajuda…

Estou desenvolvendo um sistema no qual gostaria de definir as permissões de acessos dos usuários, porém eu nunca fiz isso.

O meu sistema está sendo desenvolvido em Flex com Back-end em Java, ele terá a funcionalidade de realizar diversas buscas em base de dados e informações provindas da internet

Gostaria de definir perfis de usuários para controlar as seguintes situações:

? Nível de Acesso (Administrador, Usuário)
? Horário permitido de Acesso
? IP que pode acessar
? Redefinir senha a cada x dias
? Número de Logins simultâneos
? Valor máximo de utilização em R$ por usuário (para a empresa poder controlar quando cada usuário pode utilizar mensalmente)
? Lista de Serviços disponíveis para cada usuário, entre outras possibilidades

Eu pensei em duas formas, que são:
1ª ? Criar uma tabela no banco de dados para armazenar o perfil de cada usuário, onde cada situação que eu queira controlar ficasse em um campo;
Exemplo: ID_PERFIL | ID_USUARIO[FK] | HORA_ACESSO_INI | HORA_ACESSO_FIM | IP_PERMITIDO | REDEF_SENHA | NUM_LOG_SIM | VAL_MAX_FAT | Etc

2ª ? Criar uma tabela no banco para armazenar uma estrutura de XML.
Exemplo: ID_PERFIL | ID_USUARIO | CONFIGURACAO

Ai meu XML armazenando no banco ficaria parecido com:

<HORA_ACESSO>
08:00:00
17:00:00
</HORA_ACESSO>
<NUM_LOG_SIMULTANEO>10</NUM_LOG_SIMULTANEO>
<REDEF_SENHA_DIAS>60</REDEF_SENHA_DIAS>

Não sei se estas são as melhores práticas e as mais fáceis de trabalhar, por isso gostaria de uma opinião.

Grato,

Alguém se habilita?..rs