terça-feira, setembro 07, 2010

Profile asp.net

 A classe ProfileCommon não é gerada quando asp.net Application project. Para isso teremos de utilizar o WebProfileGenerator em:
  
 http://webprofile.codeplex.com/Thread/View.aspx?ThreadId=20291
  
 Para o utilizar com o Visual Studio 2010 temos de colocar uma pasta chamada AddIns e dentro colocar o ficheiro .dll.
  
 Teremos ainda de alterar o ficheiro (WebProfileGenerator.AddIn) de forma a contemplar o seguinte:
  
 (...)
  
 <code>
  
  <HostApplication>
  
   <Name>Microsoft Visual Studio</Name>
  
   <Version>10.0</Version>
  
  </HostApplication>
  
 </code>
  
 (...)
  
 De seguida surge dentro do Visual Studio uma opção (clique lado direito do botão do rato) para gerar a classe profile.
  
 Após classe gerada, podemos por exemplo adicionar uma opção de perfil a um determinado utilizador:
  
 <code>
  
  //Criar o profile para colocar a informacao adicional
  
       WebProfile webProfile = new WebProfile();
  
       WebProfile pro = webProfile.GetProfile(username.Text);
  
       pro.GenericField= ddlphc.SelectedItem.Value;
  
       pro.Save();
  
 </code>
  
 Não esquecer de definir o web.config:
  
 (...)
  
 <code>
  
 <profile defaultProvider="MyProfileProvider" enabled="true">
  
    <providers>
  
     <add name="MyProfileProvider" connectionStringName="intraweb.Properties.Settings.ConnString" applicationName="intraweb" type="System.Web.Profile.SqlProfileProvider, System.Web,Version=2.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxx"/>
  
    </providers>
  
    <properties>
  
     <add name="GenericField" type="String" />
  
    </properties>
  
   </profile>
  
 </code>
  
 (...)  

Verificar também Custom Membership, Role Providers, Website administration tool, and Role based access to individual files:

http://beta.codeproject.com/KB/aspnet/innovative_rolebased_WAT.aspx?msg=3228998

Sem comentários: