<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>Altairis Web Security Toolkit</title><link>http://altairiswebsecurity.codeplex.com/project/feeds/rss</link><description>Set of ASP.NET providers &amp;#40;Membership, Role, Profile&amp;#41; which can be bound to simple and highly configurable table structure on Microsoft SQL Server or use plain text file instead of database. Also includes basic authentication module for IIS 7.0</description><item><title>Closed Issue: SimpleSqlProfileProvider is not Unicode compatible [33674]</title><link>http://altairiswebsecurity.codeplex.com/workitem/33674</link><description>KeyValue column &amp;#40;where the User Name is stored&amp;#41; is getting its value via a varchar type parameter instead of nvarchar. That means if one needs to provide Unicode characters as user name it will strip some useful characters from that.&lt;br /&gt;Comments: That's one of the reasons why it's deprecated and not recommended to be used anymore. Use http://code.msdn.microsoft.com/aspnet4profile</description><author>altair</author><pubDate>Thu, 17 Jan 2013 15:17:45 GMT</pubDate><guid isPermaLink="false">Closed Issue: SimpleSqlProfileProvider is not Unicode compatible [33674] 20130117031745P</guid></item><item><title>Created Issue: SimpleSqlProfileProvider is not Unicode compatible [33674]</title><link>http://altairiswebsecurity.codeplex.com/workitem/33674</link><description>KeyValue column &amp;#40;where the User Name is stored&amp;#41; is getting its value via a varchar type parameter instead of nvarchar. That means if one needs to provide Unicode characters as user name it will strip some useful characters from that.&lt;br /&gt;</description><author>denes</author><pubDate>Thu, 17 Jan 2013 12:55:43 GMT</pubDate><guid isPermaLink="false">Created Issue: SimpleSqlProfileProvider is not Unicode compatible [33674] 20130117125543P</guid></item><item><title>Source code checked in, #99885</title><link>http://altairiswebsecurity.codeplex.com/SourceControl/changeset/changes/99885</link><description>Upgrade&amp;#58; New Version of LabDefaultTemplate.xaml. To upgrade your build definitions, please visit the following link&amp;#58; http&amp;#58;&amp;#47;&amp;#47;go.microsoft.com&amp;#47;fwlink&amp;#47;&amp;#63;LinkId&amp;#61;254563</description><author>Project Collection Service Accounts</author><pubDate>Mon, 01 Oct 2012 21:24:31 GMT</pubDate><guid isPermaLink="false">Source code checked in, #99885 20121001092431P</guid></item><item><title>Source code checked in, #99884</title><link>http://altairiswebsecurity.codeplex.com/SourceControl/changeset/changes/99884</link><description>Checked in by server upgrade</description><author>Project Collection Service Accounts</author><pubDate>Mon, 01 Oct 2012 21:16:08 GMT</pubDate><guid isPermaLink="false">Source code checked in, #99884 20121001091608P</guid></item><item><title>Created Issue: UserID in RoleMemberships Table [32976]</title><link>http://altairiswebsecurity.codeplex.com/workitem/32976</link><description>You support userKeyType&amp;#61;&amp;#34;IntIdentity&amp;#34;, which is great for linking the user throughout the rest of the DB, however it would be beneficial if this was&amp;#58;&lt;br /&gt;&lt;br /&gt;1&amp;#41; Supported by the RoleProvider - perhaps also requiring userKeyType&amp;#61;&amp;#34;IntIdentity&amp;#34;. That is, supported UserId instead of UserName column.&lt;br /&gt;2&amp;#41; &amp;#40;The default, surrogate keys are the bomb&amp;#33;&amp;#41;&lt;br /&gt;&lt;br /&gt;This should help by making UserNames &amp;#40;as well as Email addresses&amp;#41; completely fluid without impacting the DB integrity.&lt;br /&gt;&lt;br /&gt;Cheers&amp;#33;&lt;br /&gt;</description><author>merarischroeder</author><pubDate>Fri, 27 Jul 2012 06:18:38 GMT</pubDate><guid isPermaLink="false">Created Issue: UserID in RoleMemberships Table [32976] 20120727061838A</guid></item><item><title>Updated Wiki: Home</title><link>http://altairiswebsecurity.codeplex.com/wikipage?version=16</link><description>&lt;div class="wikidoc"&gt;The &lt;b&gt;Altairis Web Security Toolkit&lt;/b&gt; consists of several parts:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://altairiswebsecurity.codeplex.com/wikipage?title=SQL%20Table%20Providers&amp;referringTitle=Home"&gt;SQL Table Providers&lt;/a&gt;&lt;/b&gt; are re-implementation of standard ASP.NET membership, profile and role providers, but using simple database structure.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href="http://altairiswebsecurity.codeplex.com/wikipage?title=PlainTextMembershipProvider&amp;referringTitle=Home"&gt;PlainTextMembershipProvider&lt;/a&gt;&lt;/b&gt; is basic low-security membership provider using plain text file as its user database.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href="http://altairiswebsecurity.codeplex.com/wikipage?title=BasicAuthenticationModule&amp;referringTitle=Home"&gt;BasicAuthenticationModule&lt;/a&gt;&lt;/b&gt; is authentication module for ASP.NET/IIS7, implementing standard HTTP Basic Authentication, working with any membership provider (including, but not limited to the two contained in this library)&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;The original release (older than 2.0) contained also &lt;a href="http://altairiswebsecurity.codeplex.com/wikipage?title=Simple%20SQL%20Providers&amp;referringTitle=Home"&gt;Simple SQL Providers&lt;/a&gt;, which are no longer developed and were replaced by SQL Table Providers mentioned above. The relevant classes are still present in the assembly, but are now marked as obsolete.&lt;br /&gt;
&lt;h2&gt;Altairis Web Security toolkit is in the NuGet Gallery&lt;/h2&gt;
You may install Altairis Web Security Toolkit using the &lt;b&gt;NuGet package manager&lt;/b&gt; (former NuPack). The package name is &lt;i&gt;Altairis.Web.Security&lt;/i&gt;,&lt;br /&gt;&lt;br /&gt;For more info about NuGet visit &lt;a href="http://www.nuget.org"&gt;http://www.nuget.org&lt;/a&gt;.&lt;br /&gt;
&lt;h2&gt;Database agnostic providers&lt;/h2&gt;
Since release &lt;a href="http://altairiswebsecurity.codeplex.com/releases/view/59664"&gt;2.2.0&lt;/a&gt; are the &lt;i&gt;TableMembershipProvider&lt;/i&gt; and &lt;i&gt;TableRoleProvider&lt;/i&gt; classes database agnostic. They should be working with any SQL database, for which an ADO.NET provider is available. Currently, SQL Server and SQL Compact 4.0 are tested to work. See the following links for setup instructions:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://altairiswebsecurity.codeplex.com/wikipage?title=Microsoft%20SQL%20Server%20Support&amp;referringTitle=Home"&gt;Microsoft SQL Server Support&lt;/a&gt; (version 2005, 2008, 2008 R2, including Express editions)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://altairiswebsecurity.codeplex.com/wikipage?title=SQL%20Server%20Compact%20Support&amp;referringTitle=Home"&gt;SQL Server Compact Support&lt;/a&gt; (version 4.0)&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Using Entity Framework Code First&lt;/h2&gt;
The Table*Providers work well with Entity Framework Code first. Read more in the following articles on Culbertson Exchange:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.culbertsonexchange.com/wp/?p=120"&gt;Code First EF 4.1 with the Altairis Membership/Role Provider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.culbertsonexchange.com/wp/?p=166"&gt;User Initialization in Code First/Altairis&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Further information&lt;/h2&gt;
&lt;a href="http://altairiswebsecurity.codeplex.com/wikipage?title=Author%20and%20contact&amp;referringTitle=Home"&gt;Author and contact&lt;/a&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>altair</author><pubDate>Sun, 08 Jul 2012 14:18:52 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20120708021852P</guid></item><item><title>Updated Wiki: SQL Table Providers</title><link>http://altairiswebsecurity.codeplex.com/wikipage?title=SQL Table Providers&amp;version=5</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;SQL Table Providers&lt;/h1&gt;
The provider object model, as present in ASP.NET 2.0, is a great step forward from hand-coded behavior in ASP.NET 1.x. But the provider model is only as useful as are available providers. Microsoft .NET itself contains set of providers which can store their data in Microsoft SQL Server database: &lt;b&gt;SqlMembershipProvider&lt;/b&gt;, &lt;b&gt;SqlRoleProvider&lt;/b&gt; and &lt;b&gt;SqlProfileProvider&lt;/b&gt;. However, database structure used by these providers is pretty complicated and almost impossible to interconnect with your own tables etc.&lt;br /&gt;&lt;br /&gt;So I created set of my own providers, using very simple table structure. Some functionality of the original providers was lost, especially the ability to store data for several applications in single database. But the simple and straightforward database allows you to easily plug it into your existing infrastructure.&lt;br /&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;h3&gt;Simplicity, ability to connect to rest of database infrastructure&lt;/h3&gt;
The main goal of these providers is to use simple table structure, which can be easily connected to other database architecture using foreign keys etc. The tables used are also extendable, additional columns may be created, as long as they are nullable or have default values.&lt;br /&gt;
&lt;h3&gt;Database independence&lt;/h3&gt;
The providers are written to be database agnostic, as long as the database has ADO.NET provider and understands SQL and named parameters. Microsoft SQL Server and SQL Compact are the main target databases and the providers are tested to work with them. See the following links for setup instructions: 
&lt;ul&gt;&lt;li&gt;&lt;a href="http://altairiswebsecurity.codeplex.com/wikipage?title=Microsoft%20SQL%20Server%20Support&amp;referringTitle=SQL%20Table%20Providers"&gt;Microsoft SQL Server Support&lt;/a&gt; (version 2005, 2008, 2008 R2, including Express editions) &lt;/li&gt;
&lt;li&gt;&lt;a href="http://altairiswebsecurity.codeplex.com/wikipage?title=SQL%20Server%20Compact%20Support&amp;referringTitle=SQL%20Table%20Providers"&gt;SQL Server Compact Support&lt;/a&gt; (version 4.0)&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;Account lockdown not supported&lt;/h3&gt;
The ASP.NET Membership infrastructure supports the account lockdown feature. After several failed login attempts, the account is disabled. In my eyes this feature offers great opportunity for denial of service attack directed to certain users - I can write a program which will repeatedly login with random passwords and deny access to legitimate users. Therefore the functionality is intentionally not implemented in the providers. use other way to protect your application from dictionary attacks.&lt;br /&gt;
&lt;h3&gt;Differences from Simple SQL Providers&lt;/h3&gt;
The first generation of providers was quite successful, so I retained the good bits, but the providers are basically rewritten from scratch, in new .NET 4.0.&lt;br /&gt;&lt;br /&gt;The new SQL Table providers have several additional features:
&lt;ul&gt;&lt;li&gt;For hashing, the standard HMACSHA512 class and algo are supported, instead of homebrew salting.&lt;/li&gt;
&lt;li&gt;Password hash and salt (or key, in HMAC terminology) are stored as binary database fields, not Base64-encoded strings.&lt;/li&gt;
&lt;li&gt;The int UserId column was dropped and UserName is now used as primary key instead.&lt;/li&gt;
&lt;li&gt;Implemented better tracking of user activity and now supporting the GetNumberOfUsersOnline method.&lt;/li&gt;
&lt;li&gt;Names of all tables are now configurable.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;The downside of the new password hashing and storage is that there is no upgrade path from the Simple SQL Providers. You can upgrade easily, but the passwords are lost. So in case of upgrading, you need to notify your users and issue new passwords or use some kind of password reset mechanisms.&lt;br /&gt;
&lt;h2&gt;Configuring the providers in web.config&lt;/h2&gt;
To use the SQL Table providers, include the following settings in your &lt;b&gt;web.config&lt;/b&gt; file:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;configuration&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;appSettings&lt;/span&gt;&lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;connectionStrings&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;add&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;TableAuthDB&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;providerName&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;System.Data.SqlClient&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;connectionString&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;...&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;connectionStrings&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;system.web&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;membership&lt;/span&gt; &lt;span style="color:Red;"&gt;defaultProvider&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;MyMembershipProvider&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;providers&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;clear&lt;/span&gt;&lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;add&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;MyMembershipProvider&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;
                     &lt;span style="color:Red;"&gt;type&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;Altairis.Web.Security.TableMembershipProvider, Altairis.Web.Security&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;
                     &lt;span style="color:Red;"&gt;connectionStringName&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;TableAuthDB&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;providers&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;membership&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;roleManager&lt;/span&gt; &lt;span style="color:Red;"&gt;enabled&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;true&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;defaultProvider&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;MyRoleProvider&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;providers&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;clear&lt;/span&gt;&lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;add&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;MyRoleProvider&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; 
                     &lt;span style="color:Red;"&gt;type&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;Altairis.Web.Security.TableRoleProvider, Altairis.Web.Security&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;
                     &lt;span style="color:Red;"&gt;connectionStringName&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;TableAuthDB&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;providers&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;roleManager&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;system.web&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;configuration&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h3&gt;Configuring membership provider&lt;/h3&gt;
The following configuration attributes are supported:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Common for all membership providers:
&lt;ul&gt;&lt;li&gt;&lt;b&gt;applicationName&lt;/b&gt; (can be set, but is ignored)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;minRequiredNonAlphanumericCharacters&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;minRequiredPasswordLength&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;passwordStrengthRegularExpression&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;requiresUniqueEmail&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Specific for this provider:
&lt;ul&gt;&lt;li&gt;&lt;b&gt;connectionStringName&lt;/b&gt; - name of connection string defined in the &lt;i&gt;connectionStrings&lt;/i&gt; section to use for database connectivity.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;tableName&lt;/b&gt; - name of database table to store user information. Default is &lt;i&gt;Users&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;useEmailAddressAsUserName&lt;/b&gt; - when set to &lt;i&gt;true&lt;/i&gt;, user name is forced to be the same as e-mail address. The &lt;i&gt;requiresUniqueEmail&lt;/i&gt; attribute must be set to &lt;i&gt;true&lt;/i&gt; as well. By changing e-mail address, user name is changed too, which may cause interoperability problems, so use with caution. &lt;/li&gt;
&lt;li&gt;&lt;b&gt;useDateTimeOffset&lt;/b&gt;* - when set to &lt;i&gt;true&lt;/i&gt;, the &lt;span class="codeInline"&gt;datetimeoffset&lt;/span&gt; data type is used internally instead of &lt;span class="codeInline"&gt;datetime&lt;/span&gt;. Use when working with database structure using it.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;userKeyType&lt;/b&gt; - allows specify &lt;a href="http://altairiswebsecurity.codeplex.com/wikipage?title=Custom%20Provider%20User%20Keys&amp;referringTitle=SQL%20Table%20Providers"&gt;Custom Provider User Keys&lt;/a&gt;; may have following values:
&lt;ul&gt;&lt;li&gt;&lt;i&gt;UserName&lt;/i&gt; (default) - user name is used as provider user key&lt;/li&gt;
&lt;li&gt;&lt;i&gt;IntIdentity&lt;/i&gt; - integer generated by database backend (by means of IDENTITY clause or similar mechanism) is used as provider user key&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Guid&lt;/i&gt; - GUID is generated by membership prpvoder and used as key&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;Configuring role provider&lt;/h3&gt;
The following configuration attributes are supported:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Common for all role providers:
&lt;ul&gt;&lt;li&gt;&lt;b&gt;applicationName&lt;/b&gt; (can be set, but is ignored)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Specific for this provider:
&lt;ul&gt;&lt;li&gt;&lt;b&gt;connectionStringName&lt;/b&gt; - name of connection string defined in the &lt;i&gt;connectionStrings&lt;/i&gt; section to use for database connectivity.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;rolesTableName&lt;/b&gt; - name of database table to store roles. Default is &lt;i&gt;Roles&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;roleMembershipsTableName&lt;/b&gt; - name of database table to store information about role members. Default is &lt;i&gt;RoleMemberships&lt;/i&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>altair</author><pubDate>Sun, 08 Jul 2012 14:12:24 GMT</pubDate><guid isPermaLink="false">Updated Wiki: SQL Table Providers 20120708021224P</guid></item><item><title>Created Release: 2.4.4 (7 08, 2012)</title><link>http://altairiswebsecurity.codeplex.com/releases?ReleaseId=90793</link><description>&lt;div class="wikidoc"&gt;Added &lt;span class="codeInline"&gt;UseDateTimeOffset&lt;/span&gt; property to &lt;span class="codeInline"&gt;TableMembershipProvider&lt;/span&gt;, to allow using SQL type &lt;span class="codeInline"&gt;datetimeoffset&lt;/span&gt; in database.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>altair</author><pubDate>Sun, 08 Jul 2012 14:09:49 GMT</pubDate><guid isPermaLink="false">Created Release: 2.4.4 (7 08, 2012) 20120708020949P</guid></item><item><title>Released: 2.4.4 (Jul 08, 2012)</title><link>http://altairiswebsecurity.codeplex.com/releases/view/90793</link><description>
&lt;div class="wikidoc"&gt;Added &lt;span class="codeInline"&gt;UseDateTimeOffset&lt;/span&gt; property to
&lt;span class="codeInline"&gt;TableMembershipProvider&lt;/span&gt;, to allow using SQL type
&lt;span class="codeInline"&gt;datetimeoffset&lt;/span&gt; in database.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
</description><author></author><pubDate>Sun, 08 Jul 2012 14:09:49 GMT</pubDate><guid isPermaLink="false">Released: 2.4.4 (Jul 08, 2012) 20120708020949P</guid></item><item><title>Source code checked in, #98637</title><link>http://altairiswebsecurity.codeplex.com/SourceControl/changeset/changes/98637</link><description>&amp;#42; Added UseDateTimeOffset property to TableMembershipProvider&amp;#13;&amp;#10;&amp;#42; Updated copyright years&amp;#13;&amp;#10;</description><author>altair</author><pubDate>Sun, 08 Jul 2012 14:05:19 GMT</pubDate><guid isPermaLink="false">Source code checked in, #98637 20120708020519P</guid></item><item><title>Commented Issue: How to use Altairis with Entity Framework 4.3 Migrations? [32273]</title><link>http://altairiswebsecurity.codeplex.com/workitem/32273</link><description>Hi,&lt;br /&gt;&lt;br /&gt;First off - thanks so much for making this toolkit. I use it on tons of projects to help make memberships even earlier to use &amp;#58;&amp;#41;&lt;br /&gt;&lt;br /&gt;I have a small issue trying to create a user when my database is generated using Migrations &amp;#40;EF 4.3&amp;#41;.&lt;br /&gt;&lt;br /&gt;I receive the following error&amp;#58;&lt;br /&gt;The password-answer supplied is invalid.&lt;br /&gt;&lt;br /&gt;My code is&amp;#58; &lt;br /&gt;internal sealed class Configuration &amp;#58; DbMigrationsConfiguration&amp;#60;MyProject.Data.DataContext&amp;#62;&lt;br /&gt;    &amp;#123;&lt;br /&gt;        public Configuration&amp;#40;&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            AutomaticMigrationsEnabled &amp;#61; true&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;        protected override void Seed&amp;#40;MyProject.Data.DataContext context&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            &amp;#47;&amp;#47; create default User&lt;br /&gt;            MembershipCreateStatus status &amp;#61; new MembershipCreateStatus&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;            User admin &amp;#61; context.Users.Find&amp;#40;&amp;#34;TestGuy&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;        if &amp;#40;admin &amp;#61;&amp;#61; null&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            Membership.CreateUser&amp;#40;&amp;#34;TestGuy&amp;#34;, &amp;#34;TestGuy123&amp;#34;, &amp;#34;testguy&amp;#64;test.com&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;            if &amp;#40;status &amp;#61;&amp;#61; MembershipCreateStatus.Success&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                admin.Firstname &amp;#61; &amp;#34;Test&amp;#34;&amp;#59;&lt;br /&gt;                admin.Surname &amp;#61; &amp;#34;Guy&amp;#34;&amp;#59;&lt;br /&gt;                admin.DateLastActivity &amp;#61; DateTime.Now&amp;#59;&lt;br /&gt;                admin.LastActivityRoute &amp;#61; &amp;#34;&amp;#47;Home&amp;#47;Index&amp;#34;&amp;#59;&lt;br /&gt;                Role adminRole &amp;#61; context.Roles.Find&amp;#40;&amp;#34;Administrator&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                admin.Roles &amp;#61; new List&amp;#60;Role&amp;#62;&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                admin.Roles.Add&amp;#40;adminRole&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;        &amp;#125;&lt;br /&gt;            context.SaveChanges&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&lt;br /&gt;The thing is - I don&amp;#39;t set one up on the create user call so I&amp;#39;m wondering how I could bypass this option. I have also set requiresQuestionAndAnswer&amp;#61;&amp;#34;false&amp;#34; in my web.config on the TableMembershipProvider tag.&lt;br /&gt;&lt;br /&gt;I have this question open over at StackOverflow.com - &lt;br /&gt;&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;stackoverflow.com&amp;#47;questions&amp;#47;9326115&amp;#47;how-can-i-create-a-user-account-in-my-user-table-using-entity-framework-migratio&lt;br /&gt;&lt;br /&gt;Any ideas on how to overcome this would be very handy as all my projects have one super user access setup for me so I can manage the projects for my clients.&lt;br /&gt;&lt;br /&gt;Thanks for your help&amp;#33;&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Rich&lt;br /&gt;Comments: ** Comment from web user: altair ** &lt;p&gt;Honestly, I don&amp;#39;t think it&amp;#39;s the right and supported way, to try create users from database seeding, especially when the seeding is supposed to work in non-web environments. I would recommend you to bypass the provider and seed the raw data to database. &lt;/p&gt;&lt;p&gt;But I didn&amp;#39;t had yet enough time to look into EF 4.3, so take it &amp;#39;grano salis&amp;#39;.&lt;/p&gt;</description><author>altair</author><pubDate>Mon, 20 Feb 2012 21:46:46 GMT</pubDate><guid isPermaLink="false">Commented Issue: How to use Altairis with Entity Framework 4.3 Migrations? [32273] 20120220094646P</guid></item><item><title>Commented Issue: How to use Altairis with Entity Framework 4.3 Migrations? [32273]</title><link>http://altairiswebsecurity.codeplex.com/workitem/32273</link><description>Hi,&lt;br /&gt;&lt;br /&gt;First off - thanks so much for making this toolkit. I use it on tons of projects to help make memberships even earlier to use &amp;#58;&amp;#41;&lt;br /&gt;&lt;br /&gt;I have a small issue trying to create a user when my database is generated using Migrations &amp;#40;EF 4.3&amp;#41;.&lt;br /&gt;&lt;br /&gt;I receive the following error&amp;#58;&lt;br /&gt;The password-answer supplied is invalid.&lt;br /&gt;&lt;br /&gt;My code is&amp;#58; &lt;br /&gt;internal sealed class Configuration &amp;#58; DbMigrationsConfiguration&amp;#60;MyProject.Data.DataContext&amp;#62;&lt;br /&gt;    &amp;#123;&lt;br /&gt;        public Configuration&amp;#40;&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            AutomaticMigrationsEnabled &amp;#61; true&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;        protected override void Seed&amp;#40;MyProject.Data.DataContext context&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            &amp;#47;&amp;#47; create default User&lt;br /&gt;            MembershipCreateStatus status &amp;#61; new MembershipCreateStatus&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;            User admin &amp;#61; context.Users.Find&amp;#40;&amp;#34;TestGuy&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;        if &amp;#40;admin &amp;#61;&amp;#61; null&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            Membership.CreateUser&amp;#40;&amp;#34;TestGuy&amp;#34;, &amp;#34;TestGuy123&amp;#34;, &amp;#34;testguy&amp;#64;test.com&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;            if &amp;#40;status &amp;#61;&amp;#61; MembershipCreateStatus.Success&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                admin.Firstname &amp;#61; &amp;#34;Test&amp;#34;&amp;#59;&lt;br /&gt;                admin.Surname &amp;#61; &amp;#34;Guy&amp;#34;&amp;#59;&lt;br /&gt;                admin.DateLastActivity &amp;#61; DateTime.Now&amp;#59;&lt;br /&gt;                admin.LastActivityRoute &amp;#61; &amp;#34;&amp;#47;Home&amp;#47;Index&amp;#34;&amp;#59;&lt;br /&gt;                Role adminRole &amp;#61; context.Roles.Find&amp;#40;&amp;#34;Administrator&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                admin.Roles &amp;#61; new List&amp;#60;Role&amp;#62;&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                admin.Roles.Add&amp;#40;adminRole&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;        &amp;#125;&lt;br /&gt;            context.SaveChanges&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&lt;br /&gt;The thing is - I don&amp;#39;t set one up on the create user call so I&amp;#39;m wondering how I could bypass this option. I have also set requiresQuestionAndAnswer&amp;#61;&amp;#34;false&amp;#34; in my web.config on the TableMembershipProvider tag.&lt;br /&gt;&lt;br /&gt;I have this question open over at StackOverflow.com - &lt;br /&gt;&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;stackoverflow.com&amp;#47;questions&amp;#47;9326115&amp;#47;how-can-i-create-a-user-account-in-my-user-table-using-entity-framework-migratio&lt;br /&gt;&lt;br /&gt;Any ideas on how to overcome this would be very handy as all my projects have one super user access setup for me so I can manage the projects for my clients.&lt;br /&gt;&lt;br /&gt;Thanks for your help&amp;#33;&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Rich&lt;br /&gt;Comments: ** Comment from web user: onimusha_kiyoko ** &lt;p&gt;Hi again,&lt;/p&gt;&lt;p&gt;Thanks for your updates. I have managed to get this working by settings the initial user to be created when the user first goes to the Account&amp;#47;Logon page instead of in the database initializer. It&amp;#39;s a bit of a shame that the EF 4.3 Seed options don&amp;#39;t play nice with memberships. I&amp;#39;m sure they&amp;#39;ll sort it out soon or someone else will post a work around.&lt;/p&gt;&lt;p&gt;You&amp;#39;re right through, this is not an issue with your provider. This is an issue trying to use the provider with the EF migrations code.&lt;/p&gt;&lt;p&gt;Thanks for your time.&lt;/p&gt;&lt;p&gt;Regards,&lt;br /&gt;Rich&lt;/p&gt;</description><author>onimusha_kiyoko</author><pubDate>Mon, 20 Feb 2012 20:27:15 GMT</pubDate><guid isPermaLink="false">Commented Issue: How to use Altairis with Entity Framework 4.3 Migrations? [32273] 20120220082715P</guid></item><item><title>Commented Issue: How to use Altairis with Entity Framework 4.3 Migrations? [32273]</title><link>http://altairiswebsecurity.codeplex.com/workitem/32273</link><description>Hi,&lt;br /&gt;&lt;br /&gt;First off - thanks so much for making this toolkit. I use it on tons of projects to help make memberships even earlier to use &amp;#58;&amp;#41;&lt;br /&gt;&lt;br /&gt;I have a small issue trying to create a user when my database is generated using Migrations &amp;#40;EF 4.3&amp;#41;.&lt;br /&gt;&lt;br /&gt;I receive the following error&amp;#58;&lt;br /&gt;The password-answer supplied is invalid.&lt;br /&gt;&lt;br /&gt;My code is&amp;#58; &lt;br /&gt;internal sealed class Configuration &amp;#58; DbMigrationsConfiguration&amp;#60;MyProject.Data.DataContext&amp;#62;&lt;br /&gt;    &amp;#123;&lt;br /&gt;        public Configuration&amp;#40;&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            AutomaticMigrationsEnabled &amp;#61; true&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;        protected override void Seed&amp;#40;MyProject.Data.DataContext context&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            &amp;#47;&amp;#47; create default User&lt;br /&gt;            MembershipCreateStatus status &amp;#61; new MembershipCreateStatus&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;            User admin &amp;#61; context.Users.Find&amp;#40;&amp;#34;TestGuy&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;        if &amp;#40;admin &amp;#61;&amp;#61; null&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            Membership.CreateUser&amp;#40;&amp;#34;TestGuy&amp;#34;, &amp;#34;TestGuy123&amp;#34;, &amp;#34;testguy&amp;#64;test.com&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;            if &amp;#40;status &amp;#61;&amp;#61; MembershipCreateStatus.Success&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                admin.Firstname &amp;#61; &amp;#34;Test&amp;#34;&amp;#59;&lt;br /&gt;                admin.Surname &amp;#61; &amp;#34;Guy&amp;#34;&amp;#59;&lt;br /&gt;                admin.DateLastActivity &amp;#61; DateTime.Now&amp;#59;&lt;br /&gt;                admin.LastActivityRoute &amp;#61; &amp;#34;&amp;#47;Home&amp;#47;Index&amp;#34;&amp;#59;&lt;br /&gt;                Role adminRole &amp;#61; context.Roles.Find&amp;#40;&amp;#34;Administrator&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                admin.Roles &amp;#61; new List&amp;#60;Role&amp;#62;&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                admin.Roles.Add&amp;#40;adminRole&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;        &amp;#125;&lt;br /&gt;            context.SaveChanges&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&lt;br /&gt;The thing is - I don&amp;#39;t set one up on the create user call so I&amp;#39;m wondering how I could bypass this option. I have also set requiresQuestionAndAnswer&amp;#61;&amp;#34;false&amp;#34; in my web.config on the TableMembershipProvider tag.&lt;br /&gt;&lt;br /&gt;I have this question open over at StackOverflow.com - &lt;br /&gt;&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;stackoverflow.com&amp;#47;questions&amp;#47;9326115&amp;#47;how-can-i-create-a-user-account-in-my-user-table-using-entity-framework-migratio&lt;br /&gt;&lt;br /&gt;Any ideas on how to overcome this would be very handy as all my projects have one super user access setup for me so I can manage the projects for my clients.&lt;br /&gt;&lt;br /&gt;Thanks for your help&amp;#33;&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Rich&lt;br /&gt;Comments: ** Comment from web user: altair ** &lt;p&gt;I don&amp;#39;t understand the EF database migration and the mechanism is completely unrelated to my providers, which do not have anything in common with EF. So maybe the problem is in context where the provider methods are called.&lt;/p&gt;&lt;p&gt;Can you please provide me with some simple but complete project I can take a look on&amp;#63;&lt;/p&gt;</description><author>altair</author><pubDate>Mon, 20 Feb 2012 16:44:58 GMT</pubDate><guid isPermaLink="false">Commented Issue: How to use Altairis with Entity Framework 4.3 Migrations? [32273] 20120220044458P</guid></item><item><title>Commented Issue: How to use Altairis with Entity Framework 4.3 Migrations? [32273]</title><link>http://altairiswebsecurity.codeplex.com/workitem/32273</link><description>Hi,&lt;br /&gt;&lt;br /&gt;First off - thanks so much for making this toolkit. I use it on tons of projects to help make memberships even earlier to use &amp;#58;&amp;#41;&lt;br /&gt;&lt;br /&gt;I have a small issue trying to create a user when my database is generated using Migrations &amp;#40;EF 4.3&amp;#41;.&lt;br /&gt;&lt;br /&gt;I receive the following error&amp;#58;&lt;br /&gt;The password-answer supplied is invalid.&lt;br /&gt;&lt;br /&gt;My code is&amp;#58; &lt;br /&gt;internal sealed class Configuration &amp;#58; DbMigrationsConfiguration&amp;#60;MyProject.Data.DataContext&amp;#62;&lt;br /&gt;    &amp;#123;&lt;br /&gt;        public Configuration&amp;#40;&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            AutomaticMigrationsEnabled &amp;#61; true&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;        protected override void Seed&amp;#40;MyProject.Data.DataContext context&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            &amp;#47;&amp;#47; create default User&lt;br /&gt;            MembershipCreateStatus status &amp;#61; new MembershipCreateStatus&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;            User admin &amp;#61; context.Users.Find&amp;#40;&amp;#34;TestGuy&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;        if &amp;#40;admin &amp;#61;&amp;#61; null&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            Membership.CreateUser&amp;#40;&amp;#34;TestGuy&amp;#34;, &amp;#34;TestGuy123&amp;#34;, &amp;#34;testguy&amp;#64;test.com&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;            if &amp;#40;status &amp;#61;&amp;#61; MembershipCreateStatus.Success&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                admin.Firstname &amp;#61; &amp;#34;Test&amp;#34;&amp;#59;&lt;br /&gt;                admin.Surname &amp;#61; &amp;#34;Guy&amp;#34;&amp;#59;&lt;br /&gt;                admin.DateLastActivity &amp;#61; DateTime.Now&amp;#59;&lt;br /&gt;                admin.LastActivityRoute &amp;#61; &amp;#34;&amp;#47;Home&amp;#47;Index&amp;#34;&amp;#59;&lt;br /&gt;                Role adminRole &amp;#61; context.Roles.Find&amp;#40;&amp;#34;Administrator&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                admin.Roles &amp;#61; new List&amp;#60;Role&amp;#62;&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                admin.Roles.Add&amp;#40;adminRole&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;        &amp;#125;&lt;br /&gt;            context.SaveChanges&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&lt;br /&gt;The thing is - I don&amp;#39;t set one up on the create user call so I&amp;#39;m wondering how I could bypass this option. I have also set requiresQuestionAndAnswer&amp;#61;&amp;#34;false&amp;#34; in my web.config on the TableMembershipProvider tag.&lt;br /&gt;&lt;br /&gt;I have this question open over at StackOverflow.com - &lt;br /&gt;&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;stackoverflow.com&amp;#47;questions&amp;#47;9326115&amp;#47;how-can-i-create-a-user-account-in-my-user-table-using-entity-framework-migratio&lt;br /&gt;&lt;br /&gt;Any ideas on how to overcome this would be very handy as all my projects have one super user access setup for me so I can manage the projects for my clients.&lt;br /&gt;&lt;br /&gt;Thanks for your help&amp;#33;&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Rich&lt;br /&gt;Comments: ** Comment from web user: onimusha_kiyoko ** &lt;p&gt;My code was not correct in my previous post and I am unable to edit. Please see below for current code. As mentioned, this compiles and database is initialized but no user is created in the User table for me.&lt;/p&gt;&lt;p&gt;&amp;#47;&amp;#47; create default User&lt;br /&gt;MembershipCreateStatus status&amp;#59;&lt;br /&gt;User admin &amp;#61; context.Users.Find&amp;#40;&amp;#34;TestGuy&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;if &amp;#40;admin &amp;#61;&amp;#61; null&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;Membership.CreateUser&amp;#40;&amp;#34;TestGuy&amp;#34;, &amp;#34;TestGuy123&amp;#34;, &amp;#34;testguy&amp;#64;test.com&amp;#34;, null, null, true, out status&amp;#41;&amp;#59;&lt;br /&gt;if &amp;#40;status &amp;#61;&amp;#61; MembershipCreateStatus.Success&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;admin &amp;#61; context.Users.Find&amp;#40;&amp;#34;TestGuy&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;admin.Firstname &amp;#61; &amp;#34;Test&amp;#34;&amp;#59;&lt;br /&gt;admin.Surname &amp;#61; &amp;#34;Guy&amp;#34;&amp;#59;&lt;br /&gt;admin.DateLastActivity &amp;#61; DateTime.Now&amp;#59;&lt;br /&gt;admin.LastActivityRoute &amp;#61; &amp;#34;&amp;#47;Home&amp;#47;Index&amp;#34;&amp;#59;&lt;br /&gt;Role adminRole &amp;#61; context.Roles.Find&amp;#40;&amp;#34;Administrator&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;admin.Roles &amp;#61; new List&amp;#60;Role&amp;#62;&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;admin.Roles.Add&amp;#40;adminRole&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;&amp;#125; &lt;/p&gt;</description><author>onimusha_kiyoko</author><pubDate>Mon, 20 Feb 2012 11:11:22 GMT</pubDate><guid isPermaLink="false">Commented Issue: How to use Altairis with Entity Framework 4.3 Migrations? [32273] 20120220111122A</guid></item><item><title>Commented Issue: How to use Altairis with Entity Framework 4.3 Migrations? [32273]</title><link>http://altairiswebsecurity.codeplex.com/workitem/32273</link><description>Hi,&lt;br /&gt;&lt;br /&gt;First off - thanks so much for making this toolkit. I use it on tons of projects to help make memberships even earlier to use &amp;#58;&amp;#41;&lt;br /&gt;&lt;br /&gt;I have a small issue trying to create a user when my database is generated using Migrations &amp;#40;EF 4.3&amp;#41;.&lt;br /&gt;&lt;br /&gt;I receive the following error&amp;#58;&lt;br /&gt;The password-answer supplied is invalid.&lt;br /&gt;&lt;br /&gt;My code is&amp;#58; &lt;br /&gt;internal sealed class Configuration &amp;#58; DbMigrationsConfiguration&amp;#60;MyProject.Data.DataContext&amp;#62;&lt;br /&gt;    &amp;#123;&lt;br /&gt;        public Configuration&amp;#40;&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            AutomaticMigrationsEnabled &amp;#61; true&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;        protected override void Seed&amp;#40;MyProject.Data.DataContext context&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            &amp;#47;&amp;#47; create default User&lt;br /&gt;            MembershipCreateStatus status &amp;#61; new MembershipCreateStatus&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;            User admin &amp;#61; context.Users.Find&amp;#40;&amp;#34;TestGuy&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;        if &amp;#40;admin &amp;#61;&amp;#61; null&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            Membership.CreateUser&amp;#40;&amp;#34;TestGuy&amp;#34;, &amp;#34;TestGuy123&amp;#34;, &amp;#34;testguy&amp;#64;test.com&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;            if &amp;#40;status &amp;#61;&amp;#61; MembershipCreateStatus.Success&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                admin.Firstname &amp;#61; &amp;#34;Test&amp;#34;&amp;#59;&lt;br /&gt;                admin.Surname &amp;#61; &amp;#34;Guy&amp;#34;&amp;#59;&lt;br /&gt;                admin.DateLastActivity &amp;#61; DateTime.Now&amp;#59;&lt;br /&gt;                admin.LastActivityRoute &amp;#61; &amp;#34;&amp;#47;Home&amp;#47;Index&amp;#34;&amp;#59;&lt;br /&gt;                Role adminRole &amp;#61; context.Roles.Find&amp;#40;&amp;#34;Administrator&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                admin.Roles &amp;#61; new List&amp;#60;Role&amp;#62;&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                admin.Roles.Add&amp;#40;adminRole&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;        &amp;#125;&lt;br /&gt;            context.SaveChanges&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&lt;br /&gt;The thing is - I don&amp;#39;t set one up on the create user call so I&amp;#39;m wondering how I could bypass this option. I have also set requiresQuestionAndAnswer&amp;#61;&amp;#34;false&amp;#34; in my web.config on the TableMembershipProvider tag.&lt;br /&gt;&lt;br /&gt;I have this question open over at StackOverflow.com - &lt;br /&gt;&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;stackoverflow.com&amp;#47;questions&amp;#47;9326115&amp;#47;how-can-i-create-a-user-account-in-my-user-table-using-entity-framework-migratio&lt;br /&gt;&lt;br /&gt;Any ideas on how to overcome this would be very handy as all my projects have one super user access setup for me so I can manage the projects for my clients.&lt;br /&gt;&lt;br /&gt;Thanks for your help&amp;#33;&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Rich&lt;br /&gt;Comments: ** Comment from web user: onimusha_kiyoko ** &lt;p&gt;Thanks for coming back to me on this issue. I have altered my code so that now it compiles and EF 4.3 runs without any errors but no user is not generated. Any ideas what this could be&amp;#63;&lt;/p&gt;&lt;p&gt;Thanks again for your help with this.&lt;/p&gt;&lt;p&gt;&amp;#47;&amp;#47; create default User&lt;br /&gt;MembershipCreateStatus status&amp;#59;&lt;br /&gt;User admin &amp;#61; context.Users.Find&amp;#40;&amp;#34;TestGuy&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;if &amp;#40;admin &amp;#61;&amp;#61; null&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;Membership.CreateUser&amp;#40;&amp;#34;TestGuy&amp;#34;, &amp;#34;TestGuy123&amp;#34;, &amp;#34;testguy&amp;#64;test.com&amp;#34;, null, null, true, out status&amp;#41;&amp;#59;&lt;br /&gt;if &amp;#40;status &amp;#61;&amp;#61; MembershipCreateStatus.Success&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;admin.Firstname &amp;#61; &amp;#34;Test&amp;#34;&amp;#59;&lt;br /&gt;admin.Surname &amp;#61; &amp;#34;Guy&amp;#34;&amp;#59;&lt;br /&gt;admin.DateLastActivity &amp;#61; DateTime.Now&amp;#59;&lt;br /&gt;admin.LastActivityRoute &amp;#61; &amp;#34;&amp;#47;Home&amp;#47;Index&amp;#34;&amp;#59;&lt;br /&gt;Role adminRole &amp;#61; context.Roles.Find&amp;#40;&amp;#34;Administrator&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;admin.Roles &amp;#61; new List&amp;#60;Role&amp;#62;&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;admin.Roles.Add&amp;#40;adminRole&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;&amp;#125;&lt;/p&gt;</description><author>onimusha_kiyoko</author><pubDate>Mon, 20 Feb 2012 10:04:34 GMT</pubDate><guid isPermaLink="false">Commented Issue: How to use Altairis with Entity Framework 4.3 Migrations? [32273] 20120220100434A</guid></item><item><title>Commented Issue: How to use Altairis with Entity Framework 4.3 Migrations? [32273]</title><link>http://altairiswebsecurity.codeplex.com/workitem/32273</link><description>Hi,&lt;br /&gt;&lt;br /&gt;First off - thanks so much for making this toolkit. I use it on tons of projects to help make memberships even earlier to use &amp;#58;&amp;#41;&lt;br /&gt;&lt;br /&gt;I have a small issue trying to create a user when my database is generated using Migrations &amp;#40;EF 4.3&amp;#41;.&lt;br /&gt;&lt;br /&gt;I receive the following error&amp;#58;&lt;br /&gt;The password-answer supplied is invalid.&lt;br /&gt;&lt;br /&gt;My code is&amp;#58; &lt;br /&gt;internal sealed class Configuration &amp;#58; DbMigrationsConfiguration&amp;#60;MyProject.Data.DataContext&amp;#62;&lt;br /&gt;    &amp;#123;&lt;br /&gt;        public Configuration&amp;#40;&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            AutomaticMigrationsEnabled &amp;#61; true&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;        protected override void Seed&amp;#40;MyProject.Data.DataContext context&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            &amp;#47;&amp;#47; create default User&lt;br /&gt;            MembershipCreateStatus status &amp;#61; new MembershipCreateStatus&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;            User admin &amp;#61; context.Users.Find&amp;#40;&amp;#34;TestGuy&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;        if &amp;#40;admin &amp;#61;&amp;#61; null&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            Membership.CreateUser&amp;#40;&amp;#34;TestGuy&amp;#34;, &amp;#34;TestGuy123&amp;#34;, &amp;#34;testguy&amp;#64;test.com&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;            if &amp;#40;status &amp;#61;&amp;#61; MembershipCreateStatus.Success&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                admin.Firstname &amp;#61; &amp;#34;Test&amp;#34;&amp;#59;&lt;br /&gt;                admin.Surname &amp;#61; &amp;#34;Guy&amp;#34;&amp;#59;&lt;br /&gt;                admin.DateLastActivity &amp;#61; DateTime.Now&amp;#59;&lt;br /&gt;                admin.LastActivityRoute &amp;#61; &amp;#34;&amp;#47;Home&amp;#47;Index&amp;#34;&amp;#59;&lt;br /&gt;                Role adminRole &amp;#61; context.Roles.Find&amp;#40;&amp;#34;Administrator&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                admin.Roles &amp;#61; new List&amp;#60;Role&amp;#62;&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                admin.Roles.Add&amp;#40;adminRole&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;        &amp;#125;&lt;br /&gt;            context.SaveChanges&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&lt;br /&gt;The thing is - I don&amp;#39;t set one up on the create user call so I&amp;#39;m wondering how I could bypass this option. I have also set requiresQuestionAndAnswer&amp;#61;&amp;#34;false&amp;#34; in my web.config on the TableMembershipProvider tag.&lt;br /&gt;&lt;br /&gt;I have this question open over at StackOverflow.com - &lt;br /&gt;&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;stackoverflow.com&amp;#47;questions&amp;#47;9326115&amp;#47;how-can-i-create-a-user-account-in-my-user-table-using-entity-framework-migratio&lt;br /&gt;&lt;br /&gt;Any ideas on how to overcome this would be very handy as all my projects have one super user access setup for me so I can manage the projects for my clients.&lt;br /&gt;&lt;br /&gt;Thanks for your help&amp;#33;&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Rich&lt;br /&gt;Comments: ** Comment from web user: altair ** &lt;p&gt;In your code you don&amp;#39;t fill the &amp;#39;status&amp;#39; variable anywhere -- you just initialize it. That&amp;#39;s the first problem I see.&lt;/p&gt;</description><author>altair</author><pubDate>Fri, 17 Feb 2012 14:54:15 GMT</pubDate><guid isPermaLink="false">Commented Issue: How to use Altairis with Entity Framework 4.3 Migrations? [32273] 20120217025415P</guid></item><item><title>Created Issue: How to use Altairis with Entity Framework 4.3 Migrations? [32273]</title><link>http://altairiswebsecurity.codeplex.com/workitem/32273</link><description>Hi,&lt;br /&gt;&lt;br /&gt;First off - thanks so much for making this toolkit. I use it on tons of projects to help make memberships even earlier to use &amp;#58;&amp;#41;&lt;br /&gt;&lt;br /&gt;I have a small issue trying to create a user when my database is generated using Migrations &amp;#40;EF 4.3&amp;#41;.&lt;br /&gt;&lt;br /&gt;I receive the following error&amp;#58;&lt;br /&gt;The password-answer supplied is invalid.&lt;br /&gt;&lt;br /&gt;My code is&amp;#58; &lt;br /&gt;internal sealed class Configuration &amp;#58; DbMigrationsConfiguration&amp;#60;MyProject.Data.DataContext&amp;#62;&lt;br /&gt;    &amp;#123;&lt;br /&gt;        public Configuration&amp;#40;&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            AutomaticMigrationsEnabled &amp;#61; true&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;        protected override void Seed&amp;#40;QSatCRM.Data.DataContext context&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            &amp;#47;&amp;#47; create default User&lt;br /&gt;            MembershipCreateStatus status &amp;#61; new MembershipCreateStatus&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;            User admin &amp;#61; context.Users.Find&amp;#40;&amp;#34;TestGuy&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;        if &amp;#40;admin &amp;#61;&amp;#61; null&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            Membership.CreateUser&amp;#40;&amp;#34;TestGuy&amp;#34;, &amp;#34;TestGuy123&amp;#34;, &amp;#34;testguy&amp;#64;test.com&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;            if &amp;#40;status &amp;#61;&amp;#61; MembershipCreateStatus.Success&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                admin.Firstname &amp;#61; &amp;#34;Test&amp;#34;&amp;#59;&lt;br /&gt;                admin.Surname &amp;#61; &amp;#34;Guy&amp;#34;&amp;#59;&lt;br /&gt;                admin.DateLastActivity &amp;#61; DateTime.Now&amp;#59;&lt;br /&gt;                admin.LastActivityRoute &amp;#61; &amp;#34;&amp;#47;Home&amp;#47;Index&amp;#34;&amp;#59;&lt;br /&gt;                Role adminRole &amp;#61; context.Roles.Find&amp;#40;&amp;#34;Administrator&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                admin.Roles &amp;#61; new List&amp;#60;Role&amp;#62;&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                admin.Roles.Add&amp;#40;adminRole&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;        &amp;#125;&lt;br /&gt;            context.SaveChanges&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&lt;br /&gt;The thing is - I don&amp;#39;t set one up on the create user call so I&amp;#39;m wondering how I could bypass this option. I have also set requiresQuestionAndAnswer&amp;#61;&amp;#34;false&amp;#34; in my web.config on the TableMembershipProvider tag.&lt;br /&gt;&lt;br /&gt;I have this question open over at StackOverflow.com - &lt;br /&gt;&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;stackoverflow.com&amp;#47;questions&amp;#47;9326115&amp;#47;how-can-i-create-a-user-account-in-my-user-table-using-entity-framework-migratio&lt;br /&gt;&lt;br /&gt;Any ideas on how to overcome this would be very handy as all my projects have one super user access setup for me so I can manage the projects for my clients.&lt;br /&gt;&lt;br /&gt;Thanks for your help&amp;#33;&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Rich&lt;br /&gt;</description><author>onimusha_kiyoko</author><pubDate>Fri, 17 Feb 2012 14:24:17 GMT</pubDate><guid isPermaLink="false">Created Issue: How to use Altairis with Entity Framework 4.3 Migrations? [32273] 20120217022417P</guid></item><item><title>Commented Issue: VerifyPasswordHash missing argument checks [32089]</title><link>http://altairiswebsecurity.codeplex.com/workitem/32089</link><description>Method VerifyPasswordHash is missing argument checks for null for storedHash and storedSalt.&lt;br /&gt;&lt;br /&gt;Proposed code is in attached file.&lt;br /&gt;&lt;br /&gt;Also&lt;br /&gt;if &amp;#40;storedSalt.Length &amp;#33;&amp;#61; 128&amp;#41; throw new ArgumentException&amp;#40;&amp;#34;Invalid length of password salt &amp;#40;128 bytes expected&amp;#41;.&amp;#34;, &amp;#34;passwordHash&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;should be &lt;br /&gt;if &amp;#40;storedSalt.Length &amp;#33;&amp;#61; 128&amp;#41; throw new ArgumentException&amp;#40;&amp;#34;Invalid length of password salt &amp;#40;128 bytes expected&amp;#41;.&amp;#34;, &amp;#34;storedSalt&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;Comments: ** Comment from web user: AlesR ** &lt;p&gt;Yes, this does not really affect toolkit behavior. There is no way for arguments to be wrong.&lt;br /&gt;It&amp;#39;s just that when you&amp;#39;re testing arguments, I would think that you will test everything.&lt;br /&gt;It also includes one typo, but this is very minor. Maybe not worth opening Visual Studio. For that reason I&amp;#39;ve also proposed the code so it&amp;#39;s zero work for you.&lt;br /&gt;I&amp;#39;m done, it&amp;#39;s your call.&lt;/p&gt;</description><author>AlesR</author><pubDate>Wed, 18 Jan 2012 10:41:07 GMT</pubDate><guid isPermaLink="false">Commented Issue: VerifyPasswordHash missing argument checks [32089] 20120118104107A</guid></item><item><title>Closed Issue: VerifyPasswordHash missing argument checks [32089]</title><link>http://altairiswebsecurity.codeplex.com/workitem/32089</link><description>Method VerifyPasswordHash is missing argument checks for null for storedHash and storedSalt.&lt;br /&gt;&lt;br /&gt;Proposed code is in attached file.&lt;br /&gt;&lt;br /&gt;Also&lt;br /&gt;if &amp;#40;storedSalt.Length &amp;#33;&amp;#61; 128&amp;#41; throw new ArgumentException&amp;#40;&amp;#34;Invalid length of password salt &amp;#40;128 bytes expected&amp;#41;.&amp;#34;, &amp;#34;passwordHash&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;should be &lt;br /&gt;if &amp;#40;storedSalt.Length &amp;#33;&amp;#61; 128&amp;#41; throw new ArgumentException&amp;#40;&amp;#34;Invalid length of password salt &amp;#40;128 bytes expected&amp;#41;.&amp;#34;, &amp;#34;storedSalt&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;Comments: &lt;p&gt;There is no legitimate way incorrect value can be stored in the database in first place. The only way this can happen is that someone fiddles with database and in such case anything may happen - anything can be null, fields can be renamed or having wrong type... There is no way how to handle that, once someone starts corrupting real data.&lt;/p&gt;</description><author>altair</author><pubDate>Wed, 18 Jan 2012 10:02:35 GMT</pubDate><guid isPermaLink="false">Closed Issue: VerifyPasswordHash missing argument checks [32089] 20120118100235A</guid></item><item><title>Created Issue: VerifyPasswordHash missing argument checks [32089]</title><link>http://altairiswebsecurity.codeplex.com/workitem/32089</link><description>Method VerifyPasswordHash is missing argument checks for null for storedHash and storedSalt.&lt;br /&gt;&lt;br /&gt;Proposed code is in attached file.&lt;br /&gt;</description><author>AlesR</author><pubDate>Wed, 18 Jan 2012 08:41:07 GMT</pubDate><guid isPermaLink="false">Created Issue: VerifyPasswordHash missing argument checks [32089] 20120118084107A</guid></item></channel></rss>