Pergunta

Tenho um projeto asp.net e estou tentando desenvolver a parte de perfil de usuário, para que os usuários possam logar com seu próprio perfil (perfil contendo admin e usuários).

É correto definir um cookie no computador do usuário, quando o usuário está logado e, em seguida, permitir que o usuário navegue no site?Quero dizer, depois de verificar o nome de usuário e a senha, ao verificar esse cookie em todas as páginas, deixo o usuário navegar na página ou redirecioná-lo para a página de login.

Este caminho está bem?
Isso é seguro de usar?
Existe alguma abordagem melhor para isso?

Foi útil?

Solução

Você pode usar SqlProfileProvider.A adição de propriedades de perfil pode ser feita adicionando algum código ao seu web.confing (dentro da seção system.web, o banco de dados para a estrutura sqlprofile deve estar presente):

<profile defaultProvider="SqlProvider">
  <providers>
    <clear/>
    <add name="SqlProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ASPNETDB" applicationName="MyApplication" description="SqlProfileProvider"/>
  </providers>
  <properties>
    <add name="LanguageId" allowAnonymous="false" type="System.Int32"/>
    <add name="Company" allowAnonymous="false" type="System.String"/>
  </properties>
</profile>

Neste exemplo, adicionei duas propriedades de perfil: languageId e Company.Você pode acessar essas propriedades usando o seguinte código:

ProfileBase profile = ProfileBase.Create("SomeUserName");
string company = (string)profile["Company"];

Para obter informações adicionais sobre SqlProfileProvider, visite o seguinte link:

http://msdn.microsoft.com/en-us/library/system.web.profile.sqlprofileprovider.aspx

Outras dicas

Escrevi algumas respostas sobre como criar perfis do zero:

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