Χαίρετε,
Τον τελευταίο καιρό δουλεύω (- μαθαίνω -) το security namespace της ASP.NET. Τα πράγματα πηγαίνουν αρκετά καλά και έχω καταφέρει να ενσωματώσω στο project μου λειτουργίες membership και roles.
Το σχήμα της βάσης ASPNETDB.MDF το έχω ενσωματώσει σε μια υπάρχουσα SQL Express βάση που χρησιμοποιώ κάνοντας χρήση του εκτελέσιμου apsnet_regsql.exe από το φάκελο του .NET Framework. Οι λειτουργίες membership και roles δουλεύουν μια χαρά. Δεν μπορώ όμως με τίποτα να δουλέψω με profiles (θεωρητικά αυτό είναι το πιο εύκολο!). Παρακάτω παραθέτω το
web.config αρχείο μου.
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<appSettings/>
<connectionStrings>
<add name="myConnection"
connectionString="Data Source=CHAOS_MACHINE\SQLEXPRESS;Initial Catalog=TestDatabaseI;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<!-- Deny access to anonymous users -->
<authorization>
<deny users="?" />
<allow users="*"/>
</authorization>
<compilation debug="true" strict="false" explicit="true" />
<pages>
<namespaces>
<clear />
<add namespace="System" />
<add namespace="System.Collections" />
<add namespace="System.Collections.Specialized" />
<add namespace="System.Configuration" />
<add namespace="System.Text" />
<add namespace="System.Text.RegularExpressions" />
<add namespace="System.Web" />
<add namespace="System.Web.Caching" />
<add namespace="System.Web.SessionState" />
<add namespace="System.Web.Security" />
<add namespace="System.Web.Profile" />
<add namespace="System.Web.UI" />
<add namespace="System.Web.UI.WebControls" />
<add namespace="System.Web.UI.WebControls.WebParts" />
<add namespace="System.Web.UI.HtmlControls" />
</namespaces>
</pages>
<!-- Set authentication type to Forms -->
<authentication mode="Forms">
<forms name=".myTransAuthCookie" loginUrl="~/Login.aspx" protection="All" timeout="10" />
</authentication>
<!--Enable Profiles-->
<profile enabled="true" defaultProvider="myProfileProvider">
<providers>
<add name="myProfileProvider"
type="System.Web.Profile.SqlProfileProvider"
connectionStringName="myConnection"
applicationName="/" />
</providers>
<properties>
<add name="myTest" serializeAs="String"/>
</properties>
</profile>
<!-- Enable Roles -->
<roleManager enabled="true" defaultProvider="myRoleProvider">
<providers>
<add name="myRoleProvider"
type="System.Web.Security.SqlRoleProvider"
connectionStringName="myConnection" />
</providers>
</roleManager>
<!-- Enable Memberships -->
<membership defaultProvider="myMembershipProvider">
<providers>
<add name="myMembershipProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="myConnection" />
</providers>
</membership>
</system.web>
</configuration>Όπως φαίνεται το <!-- enable profiles --> έχω ενεργοποιήσει την λειτουργία και έχω ορίσει και το property
myTest.
Παρόλα αυτά στον κώδικα των .aspx σελίδων μου δεν έχω intellisense για το
Profile. Αν το παραβλέψω αυτό και γράψω
Profile.myTest = "blablabla"Το VS μου επιστρέφει λάθος ότι το myTest δεν είναι member του Profile.
Ρε παιδιά μηπως έχετε υπόψη τι μπορεί να πηγαίνει στραβά, γιατί έχω σπάσει το κεφάλι μου αλλά δεν μπορώ να καταλάβω τι γίνεται (ξαναλέω ότι οι λειτουργίες membership και roles δουλεύουν άψογα!)
Ευχαριστώ.