Η κλάση MembershipProvider έχει το property RequiresQuestionAndAnswer το οποίο ρυθμίζει αν o provider απαιτεί τη χρήστη Secret Q & A. Αν κοιτάξεις το documentation π.χ. του
SqlMemberShipProvider.RequiresQuestionAndAnswer θα δεις ότι ρυθμίζεται από το web.config:
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
<providers>
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
applicationName="MyApplication" />
</providers>
</membership>Το ίδιο schema χρησιμοποιείς και για τον ActiveDirectory provider. Τώρα, γιατί το documentation του MembershipProvider δεν τα περιγράφει αυτά ... ίσως επειδή ο κάθε provider μπορεί να έχει τα δικά του properties οπότε δεν υπάρχει σταθερό σχήμα.
Με αυτό τον τρόπο απενεργοποιείς τη χρήση των Secret Question, αλλά δεν ξέρω αν θα κρυφτούν και από το Wizard. Άλλο ο Membership Provider και άλλο τα control που επικοινωνούν μαζί του. Αν δεν κρύβονται, θα βρεις στο "
How to: Customize the ASP.NET CreateUserWizard Control" ένα παράδειγμα πως να τροποποιήσεις το CreateUserWizard control. Το CreateUserWizard control επιτρέπει τη χρήση templates για την κάθε σελίδα του, οπότε μπορείς να ορίσεις εσύ ένα template στο οποίο τα Secret Q/A πεδία θα είναι κρυμμένα.
Αν αυτό που ψάχνεις είναι να αλλάξεις την εμφάνιση των Secret Q/A controls, μπορείς πάλι να το κάνεις με τα templates.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos