ChangeLog 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544
  1. 2006-05-03 Chris Toshok <[email protected]>
  2. * SqlMembershipProvider.cs (GetAlg): move this here for the time
  3. being, as it's the only class that uses it.
  4. (HashAndBase64Encode): nuke.
  5. (EncryptAndBase64Encode): nuke.
  6. (Base64DecodeAndDecrypt): nuke.
  7. (DecryptPassword): new function.
  8. (EncryptPassword): new function.
  9. (ChangePassword): replace the switch with a call to
  10. EncodePassword.
  11. (ChangePasswordQuestionAndAnswer): same.
  12. (CreateUser): same.
  13. (ResetPassword): same.
  14. (ValidateUsingPassword): same.
  15. (ValidateUsingPasswordAnswer): same.
  16. (GetPassword): same, and throw MembershipPasswordException if the
  17. password answer is incorrect.
  18. * MembershipProvider.cs (InitVector): nuke this. it's actually
  19. the salt from the database (for the sql provider, anyway).
  20. (EncodePassword): based on the password format, password, and
  21. salt, encode it. Makes use of EncryptPassword.
  22. (DecodePassword): likewise for decoding, makes use of
  23. DecryptPassword.
  24. (DecryptPassword): revert this to throwing
  25. NotImplementedException, as the sql provideroverrides it to
  26. perform the actual decryption.
  27. (EncryptPassword): same.
  28. 2006-05-02 Chris Toshok <[email protected]>
  29. * SqlMembershipProvider.cs: 85% complete, maybe more. The major
  30. functionality should work. Password retrieval (and encrypted
  31. passwords in general) is untested.
  32. 2006-05-01 Chris Toshok <[email protected]>
  33. * Membership.cs (GeneratePassword): don't include quotes (',",`)
  34. in the set of characters in the generated passwords.
  35. 2006-05-01 Chris Toshok <[email protected]>
  36. * MembershipProvider.cs (GetAlg): switch from Exception to
  37. ProviderException to match MS behavior (and fix the unit test.)
  38. * Membership.cs (GeneratePassword): implement.
  39. 2006-05-01 Chris Toshok <[email protected]>
  40. * SqlMembershipProvider.cs: lots more work. checking this in in
  41. its present state because I don't want to lose it. It still needs
  42. work.
  43. * Membership.cs (.cctor): remove the fallback.
  44. (ValidatingPassword): remove the MonoTODO.
  45. * MembershipProvider.cs (DecryptPassword): implement.
  46. (EncryptPassword): implement.
  47. (GetAlg): helper function for Decrypt/EncryptPassword.
  48. (InitVector): same.
  49. 2006-04-27 Chris Toshok <[email protected]>
  50. * SqlMembershipProvider.cs (GeneratePassword): call
  51. Membership.GeneratePassword with the configured minimum strength
  52. requirements.
  53. 2006-04-27 Chris Toshok <[email protected]>
  54. * SqlMembershipProvider.cs (UnlockUser): fix sql query, and move
  55. the CheckPararm call to the top of the method.
  56. 2006-04-12 Chris Toshok <[email protected]>
  57. * SqlMembershipProvider.cs: commit initial pass at
  58. SqlMembershipProvider work. lots of stuff untested in here.
  59. 2006-04-11 Chris Toshok <[email protected]>
  60. * MembershipUser.cs (.ctor): per Shackow's book, all DateTime's
  61. are converted using ToUniversalTime when passed into this class.
  62. (UpdateSelf): update ourselves from the passed in MembershipUser,
  63. swallowing NotSupportedExceptions.
  64. (UpdateUser): fetch a new MembershipUser from the db and call
  65. UpdateSelf with it.
  66. (ChangePassword): call UpdateUser after changing the password.
  67. (ChangePasswordQuestionAndAnswer): same.
  68. (ResetPassword): same.
  69. (UnlockUser): same. Also, don't explicitly set isLockedOut.
  70. It'll be updated in UpdateSelf.
  71. (CreationDate): getter calls ToLocalTime, setter calls
  72. ToUniversalTime.
  73. (LastActivityDate): same.
  74. (LastLoginDate): same.
  75. (LastPasswordChangedDate): same.
  76. (LastLockoutDate): same.
  77. * Membership.cs (.cctor): use
  78. ProvidersHelper.InstantitateProviders, and remove some unnecessary
  79. #if NET_2_0's.
  80. 2006-03-29 Chris Toshok <[email protected]>
  81. * SqlRoleProvider.cs: do the LOWER's in SQL, not in C#.
  82. 2006-03-23 Chris Toshok <[email protected]>
  83. * Roles.cs: make this 2.0 configuration aware.
  84. * SqlRoleProvider.cs: flesh out all the operations. the only
  85. things that need dealing with are the Initialize method's handling
  86. of a few parameters, and the ApplicationName property.
  87. 2006-03-23 Chris Toshok <[email protected]>
  88. * DefaultAuthenticationModule.cs (OnDefaultAuthentication): always
  89. set Thread.CurrentPrincipal, not just if we set it to the
  90. GenericPrincipal.
  91. 2006-03-22 Chris Toshok <[email protected]>
  92. * RoleManagerModule.cs: implement using info in Shackow's book.
  93. * RolePrincipal.cs: flesh this out a bit more.
  94. * DefaultAuthenticationModule.cs (OnDefaultAuthentication):
  95. according to Shackow's book, this sets Thread.CurrentPrincipal as
  96. well as HttpContext.Current.User.
  97. 2006-02-28 Chris Toshok <[email protected]>
  98. * FormsAuthentication.cs: corcompare work.
  99. * MembershipCreateUserException.cs: same.
  100. * MembershipPasswordException.cs: same.
  101. * AnonymousIdentificationModule.cs: same.
  102. 2006-02-01 Chris Toshok <[email protected]>
  103. * FormsAuthentication.cs, Membership.cs,
  104. FormsAuthenticationModule.cs, UrlAuthorizationModule.cs: oops,
  105. replace GetWebApplicationSection with GetSection.
  106. 2006-02-01 Chris Toshok <[email protected]>
  107. * FormsAuthentication.cs: CONFIGURATION_2_0 => NET_2_0.
  108. simplifies the ifdef mess quite a bit.
  109. * Membership.cs: same.
  110. * FormsAuthenticationModule.cs: same.
  111. * UrlAuthorizationModule.cs: same.
  112. 2006-01-04 Chris Toshok <[email protected]>
  113. * FormsAuthentication.cs (Authenticate): add CONFIGURATION_2_0
  114. code.
  115. (Decrypt2): same.
  116. (Decrypt): same.
  117. (Encrypt): same.
  118. (Initialize): same.
  119. 2006-01-04 Chris Toshok <[email protected]>
  120. * Membership.cs (.cctor): enable the code here under
  121. CONFIGURATION_2_0.
  122. 2006-01-03 Chris Toshok <[email protected]>
  123. * UrlAuthorizationModule.cs (OnAuthorizeRequest): add
  124. CONFIGURATION_2_0 code here.
  125. 2005-12-22 Gonzalo Paniagua Javier <[email protected]>
  126. * FormsAuthentication.cs: don't end the request in
  127. RedirectFromLoginPage.
  128. 2005-12-22 Gonzalo Paniagua Javier <[email protected]>
  129. * FormsAuthenticationModule.cs: expire the cookie. Fixes bug #77043.
  130. Patch by Cyrille Colin.
  131. 2005-12-13 Gonzalo Paniagua Javier <[email protected]>
  132. * FormsAuthenticationModule.cs: ignore any exception thrown when mapping
  133. the provided virtual path to the physical one. Patch by Cyrille Colin.
  134. 2005-11-28 Chris Toshok <[email protected]>
  135. * FormsAuthenticationModule.cs (OnAuthenticateRequest):
  136. CONFIGURATION_2_0 work.
  137. (OnEndRequest): same.
  138. 2005-09-09 Sebastien Pouliot <[email protected]>
  139. * DefaultAuthenticationEventArgs.cs: Added LinkDemand for Minimal.
  140. * DefaultAuthenticationModule.cs: Added LinkDemand for Minimal. Added
  141. Demand for UnmanagedCode on constructor.
  142. * FileAuthorizationModule.cs: Added LinkDemand for Minimal. Added
  143. Demand for UnmanagedCode on constructor.
  144. * FormsAuthentication.cs: Added LinkDemand for Minimal.
  145. * FormsAuthenticationEventArgs.cs: Added LinkDemand for Minimal.
  146. * FormsAuthenticationModule.cs: Added LinkDemand for Minimal. Added
  147. Demand for UnmanagedCode on constructor.
  148. * FormsAuthenticationTicket.cs: Added LinkDemand for Minimal.
  149. * FormsIdentity.cs: Added LinkDemand for Minimal.
  150. * PassportAuthenticationEventArgs.cs: Added LinkDemand for Minimal.
  151. * PassportAuthenticationModule.cs: Added LinkDemand for Minimal. Added
  152. Demand for UnmanagedCode on constructor.
  153. * PassportIdentity.cs: Added LinkDemand for Minimal. Added Demand for
  154. UnmanagedCode on constructor.
  155. * UrlAuthorizationModule.cs: Added LinkDemand for Minimal. Added
  156. Demand for UnmanagedCode on constructor.
  157. * WindowsAuthenticationEventArgs.cs: Added LinkDemand for Minimal.
  158. * WindowsAuthenticationModule.cs: Added LinkDemand for Minimal. Added
  159. Demand for UnmanagedCode on constructor.
  160. 2005-09-01 Sebastien Pouliot <[email protected]>
  161. * FormsAuthenticationEventArgs.cs: Ensure the setter for User is
  162. protected by a demand for ControlPrincipal.
  163. * PassportAuthenticationEventArgs.cs: Ensure the setter for User is
  164. protected by a demand for ControlPrincipal.
  165. * WindowsAuthenticationEventArgs.cs: Ensure the setter for User is
  166. protected by a demand for ControlPrincipal.
  167. 2005-08-25 Sebastien Pouliot <[email protected]>
  168. * FormsAuthentication.cs: With 2.0 we can get the default properties
  169. and call Initialize without a NRE.
  170. 2005-08-25 Sebastien Pouliot <[email protected]>
  171. * ActiveDirectoryConnectionProtection.cs: New (2.0) enum.
  172. * ActiveDirectoryMembershipProvider.cs: Fixed 2.0 API.
  173. * AnonymousIdentificationEventArgs.cs: Fixed AnonymousID property case.
  174. * AnonymousIdentificationModule.cs: Fixed 2.0 API.
  175. * FileAuthorizationModule.cs: Added static CheckFileAccessForUser in
  176. 2.0 profile (TODO).
  177. * FormsAuthentication.cs: Added missing 2.0 properties with their
  178. default values.
  179. * MembershipCreateStatus.cs: Fixed enum values/names.
  180. * MembershipProvider.cs: Added stub for [Decrypt|Encrypt]Password. Both
  181. methods don't seems to work without an active provider.
  182. * PassportIdentity.cs: Added IDispose for 2.0 profile.
  183. * Roles.cs: Added missing beta2 bits and default values (which are the
  184. only things working without a role provider (web.config).
  185. * RolePrincipal.cs: Fixed 2.0 API. Implemented a few bits.
  186. * SqlRoleProvider.cs: Fixed 2.0 API.
  187. * UrlAuthorizationModule.cs: Added static CheckUrlAccessForPrincipal in
  188. 2.0 profile (TODO).
  189. 2005-08-24 Sebastien Pouliot <[email protected]>
  190. * MembershipUserCollection.cs: Fix exceptions.
  191. 2005-08-22 Sebastien Pouliot <[email protected]>
  192. * FormsAuthentication.cs: Add some 2.0 stuff required for Login*
  193. controls to compile.
  194. 2005-08-18 Sebastien Pouliot <[email protected]>
  195. * Membership.cs: Commented unworking parts of the .cctor to allow
  196. testing the Login control.
  197. * MembershipProviderCollection.cs: Fixed exception handling.
  198. * SqlMembershipProvider.cs: Don't throw NotImplementedException
  199. everywhere so Membership's .cctor (somewhat) works. Removed
  200. Description property (not in beta2).
  201. 2005-07-28 Gonzalo Paniagua Javier <[email protected]>
  202. * FormsAuthentication.cs: allow hardware acceleration support if
  203. available. Sebastien dixit.
  204. 2005-07-26 Gonzalo Paniagua Javier <[email protected]>
  205. * FormsAuthentication.cs: the init_vector must be the same accross
  206. restarts, otherwise the cookie does not work even when a decryption
  207. key is provided. Initialize it to the bytes of the cookie name. Fixes
  208. bug #75635.
  209. 2005-07-25 Eyal Alaluf <[email protected]>
  210. * FormsAuthenticationModule.cs: Check for null config
  211. 2005-07-25 Miguel de Icaza <[email protected]>
  212. * FormsAuthentication.cs (SignOut): Force the cookie to have it
  213. expire in the past.
  214. 2005-07-25 Gonzalo Paniagua Javier <[email protected]>
  215. * FormsAuthentication.cs: my previous patch missed a "small" detail: it
  216. didn't include the verification key when computing/checking the
  217. validation hash. Now this is really a MAC or HMAC or...
  218. 2005-07-25 Gonzalo Paniagua Javier <[email protected]>
  219. * FormsAuthentication.cs:
  220. * FormsAuthenticationTicket.cs: added support for validation and
  221. encryption of the auth. cookie and improved serialization of the ticket.
  222. 2005-07-01 Lluis Sanchez Gual <[email protected]>
  223. * Membership.cs: Read provider info from the config file.
  224. 2005-06-10 Lluis Sanchez Gual <[email protected]>
  225. * MembershipUserCollection.cs:
  226. * MembershipPasswordException.cs:
  227. * RoleProviderCollection.cs:
  228. * ActiveDirectoryMembershipProvider.cs:
  229. * SqlMembershipProvider.cs:
  230. * MembershipProvider.cs:
  231. * SqlRoleProvider.cs:
  232. * Membership.cs:
  233. * MembershipUser.cs:
  234. * MembershipProviderCollection.cs:
  235. * Roles.cs:.
  236. * RoleProvider.cs: Track api changes in ASP.NET 2.0. Implemented
  237. some missing methods.
  238. * AccessRoleProvider.cs:
  239. * AccessMembershipProvider.cs: Removed.
  240. * MembershipCreateUserException.cs:
  241. * MembershipValidatePasswordEventHandler.cs:
  242. * ValidatePasswordEventArgs.cs: Implemented.
  243. 2005-05-21 Sebastien Pouliot <[email protected]>
  244. * FormsAuthentication.cs: Hash the UTF8 representation of the password
  245. strings (to be compatible with Microsoft implementation).
  246. 2005-04-20 Gonzalo Paniagua Javier <[email protected]>
  247. * FormsAuthentication.cs:
  248. * PassportAuthenticationModule.cs:
  249. * WindowsAuthenticationModule.cs: removed warnings.
  250. 2005-03-11 Gonzalo Paniagua Javier <[email protected]>
  251. * FormsAuthenticationModule.cs: fix for bug 73545, which caused
  252. authentication not to work when the cookie was not persistent.
  253. Patch by Ilya Kharmatsky (Mainsoft).
  254. 2005-02-23 Gonzalo Paniagua Javier <[email protected]>
  255. * FormsAuthentication.cs: make the string to be stored in a config.
  256. file uppercase... See bug #72557.
  257. 2005-02-06 Gonzalo Paniagua Javier <[email protected]>
  258. * FormsAuthentication.cs: fixed typo when getting the hash for the
  259. password in SHA1 and MD5. Thanks to Tadas Dailyda.
  260. Lock on a static object instead of typeof(FormsAuthentication).
  261. 2004-11-18 Lluis Sanchez Gual <[email protected]>
  262. * RoleProvider.cs, Roles.cs, SqlRoleProvider.cs, RoleProviderCollection.cs,
  263. AccessRoleProvider.cs: IRoleProvider has been renamed to ProviderBase.
  264. * IMembershipProvider.cs: Deleted.
  265. * MembershipProvider.cs, AccessMembershipProvider.cs, MembershipUser.cs,
  266. Membership.cs, ADMembershipProvider.cs, SqlMembershipProvider.cs
  267. MembershipProviderCollection.cs: MembershipProvider has been deleted
  268. and replaced by the abstract class MembershipProvider.
  269. * MembershipProviderCollection.cs: Minor fixes.
  270. * ADMembershipProvider.cs: Renamed to ActiveDirectoryMembershipProvider.cs.
  271. 2004-11-15 Lluis Sanchez Gual <[email protected]>
  272. * RoleProviderCollection.cs, MembershipProviderCollection.cs:
  273. Fixed warnings.
  274. 2004-08-23 Gonzalo Paniagua Javier <[email protected]>
  275. * FormsAuthentication.cs: patch by Jim Pease to fix the date on renewal.
  276. 2004-08-22 Gonzalo Paniagua Javier <[email protected]>
  277. * FormsAuthenticationModule.cs: don't renew expired cookies. Only renew
  278. the cookie if SlidingExpiration is set. Thanks to Jim Pease.
  279. 2004-08-03 Sanjay Gupta <[email protected]>
  280. * MembershipSortOptions.cs:
  281. * MembershipPasswordFormat.cs:
  282. * MembershipOnlineStatus.cs:
  283. * MembershipCreateStatus.cs:
  284. * CookieProtection.cs: minor modifications.
  285. 2004-06-12 Pedro Martnez Juli <[email protected]>
  286. * FormsAuthentication.cs: Undo last change.
  287. 2004-06-12 Pedro Martnez Juli <[email protected]>
  288. * FormsAuthentication.cs: go to loginUrl from web.config settings
  289. before try with the default ones.
  290. 2004-06-11 Gonzalo Paniagua Javier <[email protected]>
  291. * DefaultAuthenticationModule.cs: set the IPrincipal for this thread
  292. once we have a user. Fixes bug #59683.
  293. 2004-04-21 Gonzalo Paniagua Javier <[email protected]>
  294. * FormsAuthenticationModule.cs: re-read configuration files if needed
  295. when determining if forms auth. is used.
  296. 2004-01-23 Gonzalo Paniagua Javier <[email protected]>
  297. * FormsAuthentication.cs: added RequireSSL and SlidingExpiration.
  298. 2004-01-11 Andreas Nahr <[email protected]>
  299. * PassportIdentity.cs: Added v 1.1 members
  300. 2003-11-25 Ben Maurer <[email protected]>
  301. * AccessMembershipProvider.cs: New v2 file
  302. * AccessRoleProvider.cs: New v2 file
  303. * ADMembershipProvider.cs: New v2 file
  304. * AnonymousIdentificationEventArgs.cs: New v2 file
  305. * AnonymousIdentificationEventHandler.cs: New v2 file
  306. * AnonymousIdentificationModule.cs: New v2 file
  307. * CookieProtection.cs: New v2 file
  308. * IMembershipProvider.cs: New v2 file
  309. * IRoleProvider.cs: New v2 file
  310. * Membership.cs: New v2 file
  311. * MembershipCreateStatus.cs: New v2 file
  312. * MembershipCreateUserException.cs: New v2 file
  313. * MembershipOnlineStatus.cs: New v2 file
  314. * MembershipPasswordException.cs: New v2 file
  315. * MembershipPasswordFormat.cs: New v2 file
  316. * MembershipProviderCollection.cs: New v2 file
  317. * MembershipSortOptions.cs: New v2 file
  318. * MembershipUser.cs: New v2 file
  319. * MembershipUserCollection.cs: New v2 file
  320. * RoleManagerEventArgs.cs: New v2 file
  321. * RoleManagerEventHandler.cs: New v2 file
  322. * RoleManagerModule.cs: New v2 file
  323. * RolePrincipal.cs: New v2 file
  324. * RoleProviderCollection.cs: New v2 file
  325. * Roles.cs: New v2 file
  326. * SqlMembershipProvider.cs: New v2 file
  327. * SqlRoleProvider.cs: New v2 file
  328. 2003-11-05 Gonzalo Paniagua Javier <[email protected]>
  329. * FormsAuthentication.cs: encoding updates.
  330. 2003-10-04 Gonzalo Paniagua Javier <[email protected]>
  331. * FormsAuthenticationModule.cs: fixed for applications other than /.
  332. 2003-08-27 Gonzalo Paniagua Javier <[email protected]>
  333. * UrlAuthorizationModule.cs: fixed description for status code.
  334. 2003-07-31 Gonzalo Paniagua Javier <[email protected]>
  335. * FormsAuthenticationModule.cs: really renew the ticket. Thanks to
  336. Jens Thiel <[email protected]>.
  337. 2003-02-13 Gonzalo Paniagua Javier <[email protected]>
  338. * UrlAuthorizationModule.cs: tell the application not to run any other
  339. step apart from EndRequest.
  340. 2003-02-12 Gonzalo Paniagua Javier <[email protected]>
  341. * FormsAuthentication.cs: implemented RedirectFromLoginPage and
  342. GetRedirectUrl.
  343. * FormsAuthenticationModule.cs: redirect to the login page when a 401
  344. error happens.
  345. * UrlAuthorizationModule.cs: check for valid user or render error page.
  346. 2003-01-04 Gonzalo Paniagua Javier <[email protected]>
  347. * DefaultAuthenticationModule.cs: implemented. It just create a default
  348. unauthenticated user when no one else provided one.
  349. * FormsAuthenticationModule.cs: removed debug output.
  350. 2002-12-20 Gonzalo Paniagua Javier <[email protected]>
  351. * FormsAuthenticationModule.cs: remove debug lines.
  352. 2002-12-19 Gonzalo Paniagua Javier <[email protected]>
  353. * FormsAuthentication.cs: return a null ticket when an exception is
  354. thrown creating it. Implemented RenewTicketIfOld.
  355. * FormsAuthenticationModule.cs: implemented event handlers for
  356. AuthenticateRequest and EndRequest.
  357. * FormsAuthenticationTicket.cs: implemented SetDates and Clone methods.
  358. 2002-12-18 Gonzalo Paniagua Javier <[email protected]>
  359. * FormsAuthentication.cs: implemented GetAuthCookie, SetAuthCookie,
  360. SignOut, FormsCookieName and FormsCookiePath.
  361. 2002-12-17 Gonzalo Paniagua Javier <[email protected]>
  362. * FormsAuthentication.cs: implemented Authenticate, unencrypted Encrypt
  363. and Decrypt, HashPasswordForStoringInConfigFile and Initialize.
  364. * FormsAuthenticationTicket.cs: set cookiePath to the default when no
  365. other provided.
  366. 2002-08-26 Gonzalo Paniagua Javier <[email protected]>
  367. * DefaultAuthenticationEventHandler.cs:
  368. * DefaultAuthenticationModule.cs:
  369. * FileAuthorizationModule.cs:
  370. * FormsAuthentication.cs:
  371. * FormsAuthenticationEventArgs.cs:
  372. * FormsAuthenticationEventHandler.cs:
  373. * FormsAuthenticationModule.cs:
  374. * FormsAuthenticationTicket.cs:
  375. * FormsIdentity.cs:
  376. * PassportAuthenticationEventArgs.cs:
  377. * PassportAuthenticationEventHandler.cs:
  378. * PassportAuthenticationModule.cs:
  379. * PassportIdentity.cs:
  380. * UrlAuthorizationModule.cs:
  381. * WindowsAuthenticationEventArgs.cs:
  382. * WindowsAuthenticationEventHandler.cs:
  383. * WindowsAuthenticationModule.cs: new files. Some of them implemented,
  384. some others stubbed out.
  385. 2002-06-03 Gonzalo Paniagua Javier <[email protected]>
  386. * DefaultAuthenticationEventArgs.cs: added file.