Pergunta

Estamos atingindo um bom número de paredes e tropeçando blocos enquanto criamos nossa associação personalizada com base em associações, associados e roleprovider etc.

Temos vários requisitos interessantes e o provedor de associação não parece estar nos ajudando muito a alcançá -los:

  • Os usuários podem ter vários logins.
  • Os usuários não têm um nome de usuário diretamente (mas podem ter um login com um nome de usuário).
  • Os usuários têm uma referência exclusiva (atualmente uma chave primária de incrementação automática).

Para implementar isso, temos duas tabelas: usuários que têm um relacionamento único com os logins.

Isso significa efetivamente que temos um usuário que (em um mundo hipotético) pode fazer login por meio de sua conta do Active Directory automaticamente (quando possível) e por meio de uma combinação de nome de usuário/nome de usuário/senha alternativamente. Também teremos alguns usuários que podem não ter uma conta de anúncio.

Inicialmente, tentei re -impondo as aulas de associação criando: - CustomMembershipprovider - CustomMbershipUser - CustomRolesProvider

Mas toda a minha luta contra isso acabou de me dar olhos negros e hematomas, realmente, verdade quer um nome de usuário!

Eu já fiz isso da melhor maneira? Devo começar de Stratch e não herdar nada? Devo estar baseando -o na aula do iProvider? Ou talvez as classes genéricas e genéricas? Ou estou simplesmente perdendo algo com a associação?

Quero manter a experiência final de programação tão fácil quanto para as coisas de associação pronta para uso, por exemplo,

Membership.GetCurrentUser();

E evite uma experiência de codificador final menos que simplista ...

Foi útil?

Solução

Eu tinha experiência semelhante e decidi dar a todos os usuários uma associação comum para verificação de funções, etc. e mapeá -la para diferenciar autenticaçãoProviders (OpenID, AD, provedores de associação, etc.) para que eles possam ser autenticados de maneira diferente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top