C# Class GestUAB.Security.RavenDbMembershipProvider

Specialized MembershipProvider that uses a file (Users.config) to store its data. Passwords for the users are always stored as a salted hash (see: http://msdn.microsoft.com/msdnmag/issues/03/08/SecurityBriefs/)
Inheritance: Nancy.Security.MembershipProvider
Datei anzeigen Open project: GestUAB/GestUAB

Public Methods

Method Description
ChangePassword ( string username, string oldPassword, string newPassword ) : bool

Processes a request to update the password for a membership user.

ChangePasswordQuestionAndAnswer ( string username, string password, string newPasswordQuestion, string newPasswordAnswer ) : bool

Processes a request to update the password question and answer for a membership user.

ConfirmAccount ( string accountConfirmationToken ) : bool

Activates a pending membership account.

ConfirmAccount ( string userName, string accountConfirmationToken ) : bool

Indicates whether the user account is confirmed.

CreateAccount ( string userName, string password ) : string

Creates a new user account using the specified user name and password.

CreateAccount ( string userName, string password, bool requireConfirmationToken = false ) : string

Creates the account.

CreateUser ( string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, System.Guid providerUserKey, MembershipCreateStatus &status ) : MembershipUser

Adds a new membership user to the data source.

DeleteUser ( string username, bool deleteAllRelatedData ) : bool

Removes a user from the membership data source.

FindUsersByEmail ( string emailToMatch, int pageIndex, int pageSize, int &totalRecords ) : IEnumerable

Gets a collection of membership users where the e-mail address contains the specified e-mail address to match.

FindUsersByName ( string usernameToMatch, int pageIndex, int pageSize, int &totalRecords ) : IEnumerable

Gets a collection of membership users where the user name contains the specified user name to match.

GetAllUsers ( int pageIndex, int pageSize, int &totalRecords ) : IEnumerable

Gets a collection of all the users in the data source in pages of data.

GetNumberOfUsersOnline ( ) : int

Gets the number of users currently accessing the application.

GetPassword ( string username, string answer ) : string

Gets the password for the specified user name from the data source.

GetUser ( System.Guid userId, bool userIsOnline ) : MembershipUser

Gets information from the data source for a user based on the unique identifier for the membership user. Provides an option to update the last-activity date/time stamp for the user.

GetUser ( string username, bool userIsOnline ) : MembershipUser

Gets information from the data source for a user. Provides an option to update the last-activity date/time stamp for the user.

GetUserFromIdentifier ( System.Guid identifier, Nancy.NancyContext context ) : IUserIdentity
GetUserNameByEmail ( string email ) : string

Gets the user name associated with the specified e-mail address.

RavenDbMembershipProvider ( IDocumentStore documentStore ) : System
ResetPassword ( string userName, string answer ) : string

Resets a user's password to a new, automatically generated password.

UnlockUser ( string userName ) : bool

Clears a lock so that the membership user can be validated.

UpdateUser ( MembershipUser user ) : void

Updates information about a user in the data source.

ValidateUser ( string username, string password ) : Guid?

Verifies that the specified user name and password exist in the data source.

ValidateUserNameAndEmail ( string userName, string email, bool &userNameIsOk, bool &emailIsOk, System.Guid excludeKey ) : void

Validates the username.

Private Methods

Method Description
CreateMembershipFromInternalUser ( MembershipUser user ) : MembershipUser

Creates the membership from internal user.

HashPassword ( string password, string passwordFormat ) : string
TransformPassword ( string password, string &salt ) : string

Transforms the password.

ValidatePassword ( string password ) : bool

Validates the password.

ValidateUserInternal ( UserSecurityInfo user, string password ) : bool

Validates the user internal.

ValidateUserName1 ( string userName, string email, System.Guid excludeKey ) : bool

Validates the username.

Method Details

ChangePassword() public method

Processes a request to update the password for a membership user.
public ChangePassword ( string username, string oldPassword, string newPassword ) : bool
username string The user to update the password for.
oldPassword string The current password for the specified user.
newPassword string The new password for the specified user.
return bool

ChangePasswordQuestionAndAnswer() public method

Processes a request to update the password question and answer for a membership user.
public ChangePasswordQuestionAndAnswer ( string username, string password, string newPasswordQuestion, string newPasswordAnswer ) : bool
username string The user to change the password question and answer for.
password string The password for the specified user.
newPasswordQuestion string The new password question for the specified user.
newPasswordAnswer string The new password answer for the specified user.
return bool

ConfirmAccount() public method

Activates a pending membership account.
public ConfirmAccount ( string accountConfirmationToken ) : bool
accountConfirmationToken string /// A confirmation token to pass to the authentication provider. ///
return bool

ConfirmAccount() public method

Indicates whether the user account is confirmed.
public ConfirmAccount ( string userName, string accountConfirmationToken ) : bool
userName string /// The username. ///
accountConfirmationToken string /// The account confirmation. ///
return bool

CreateAccount() public method

Creates a new user account using the specified user name and password.
public CreateAccount ( string userName, string password ) : string
userName string
password string
return string

CreateAccount() public method

Creates the account.
public CreateAccount ( string userName, string password, bool requireConfirmationToken = false ) : string
userName string /// The user name. ///
password string /// The password. ///
requireConfirmationToken bool /// (Optional) true to specify that the user account must be confirmed; otherwise, false. The default is false. ///
return string

CreateUser() public method

Adds a new membership user to the data source.
public CreateUser ( string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, System.Guid providerUserKey, MembershipCreateStatus &status ) : MembershipUser
username string The user name for the new user.
password string The password for the new user.
email string The e-mail address for the new user.
passwordQuestion string The password question for the new user.
passwordAnswer string The password answer for the new user
isApproved bool Whether or not the new user is approved to be validated.
providerUserKey System.Guid The unique identifier from the membership data source for the user.
status MembershipCreateStatus A enumeration value indicating whether the user was created successfully.
return Nancy.Security.MembershipUser

DeleteUser() public method

Removes a user from the membership data source.
public DeleteUser ( string username, bool deleteAllRelatedData ) : bool
username string The name of the user to delete.
deleteAllRelatedData bool true to delete data related to the user from the database; false to leave data related to the user in the database.
return bool

FindUsersByEmail() public method

Gets a collection of membership users where the e-mail address contains the specified e-mail address to match.
public FindUsersByEmail ( string emailToMatch, int pageIndex, int pageSize, int &totalRecords ) : IEnumerable
emailToMatch string The e-mail address to search for.
pageIndex int The index of the page of results to return. pageIndex is zero-based.
pageSize int The size of the page of results to return.
totalRecords int The total number of matched users.
return IEnumerable

FindUsersByName() public method

Gets a collection of membership users where the user name contains the specified user name to match.
public FindUsersByName ( string usernameToMatch, int pageIndex, int pageSize, int &totalRecords ) : IEnumerable
usernameToMatch string The user name to search for.
pageIndex int The index of the page of results to return. pageIndex is zero-based.
pageSize int The size of the page of results to return.
totalRecords int The total number of matched users.
return IEnumerable

GetAllUsers() public method

Gets a collection of all the users in the data source in pages of data.
public GetAllUsers ( int pageIndex, int pageSize, int &totalRecords ) : IEnumerable
pageIndex int The index of the page of results to return. pageIndex is zero-based.
pageSize int The size of the page of results to return.
totalRecords int The total number of matched users.
return IEnumerable

GetNumberOfUsersOnline() public method

Gets the number of users currently accessing the application.
public GetNumberOfUsersOnline ( ) : int
return int

GetPassword() public method

Gets the password for the specified user name from the data source.
public GetPassword ( string username, string answer ) : string
username string The user to retrieve the password for.
answer string The password answer for the user.
return string

GetUser() public method

Gets information from the data source for a user based on the unique identifier for the membership user. Provides an option to update the last-activity date/time stamp for the user.
public GetUser ( System.Guid userId, bool userIsOnline ) : MembershipUser
userId System.Guid
userIsOnline bool true to update the last-activity date/time stamp for the user; false to return /// user information without updating the last-activity date/time stamp for the user.
return Nancy.Security.MembershipUser

GetUser() public method

Gets information from the data source for a user. Provides an option to update the last-activity date/time stamp for the user.
public GetUser ( string username, bool userIsOnline ) : MembershipUser
username string The name of the user to get information for.
userIsOnline bool true to update the last-activity date/time stamp for the user; false to return /// user information without updating the last-activity date/time stamp for the user.
return Nancy.Security.MembershipUser

GetUserFromIdentifier() public method

public GetUserFromIdentifier ( System.Guid identifier, Nancy.NancyContext context ) : IUserIdentity
identifier System.Guid
context Nancy.NancyContext
return IUserIdentity

GetUserNameByEmail() public method

Gets the user name associated with the specified e-mail address.
public GetUserNameByEmail ( string email ) : string
email string The e-mail address to search for.
return string

RavenDbMembershipProvider() public method

public RavenDbMembershipProvider ( IDocumentStore documentStore ) : System
documentStore IDocumentStore
return System

ResetPassword() public method

Resets a user's password to a new, automatically generated password.
public ResetPassword ( string userName, string answer ) : string
userName string
answer string The password answer for the specified user.
return string

UnlockUser() public method

Clears a lock so that the membership user can be validated.
public UnlockUser ( string userName ) : bool
userName string The membership user to clear the lock status for.
return bool

UpdateUser() public method

Updates information about a user in the data source.
public UpdateUser ( MembershipUser user ) : void
user Nancy.Security.MembershipUser A object that represents the /// user to update and the updated information for the user.
return void

ValidateUser() public method

Verifies that the specified user name and password exist in the data source.
public ValidateUser ( string username, string password ) : Guid?
username string The name of the user to validate.
password string The password for the specified user.
return Guid?

ValidateUserNameAndEmail() public method

Validates the username.
public ValidateUserNameAndEmail ( string userName, string email, bool &userNameIsOk, bool &emailIsOk, System.Guid excludeKey ) : void
userName string Name of the user.
email string The email.
userNameIsOk bool
emailIsOk bool
excludeKey System.Guid The exclude key.
return void