C# Класс Subtext.Framework.Security.SecurityHelper

Handles blog logins/passwords/tickets
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
Authenticate ( string claimedIdentifier, bool persist ) : bool

Check to see if the supplied OpenID claim is valid for the current blog. If so, Set the user's FormsAuthentication Ticket This method will handle passwords for both hashed and non-hashed configurations We're comparing URI objects rather than using simple string compare because functionally equivalent URI's may not pass string comparaisons, e.g. such as http://example.myopenid.com/ and http://example.myopenid.com (trailing /)

Authenticate ( string username, string password, bool persist ) : bool

Check to see if the supplied credentials are valid for the current blog. If so, Set the user's FormsAuthentication Ticket This method will handle passwords for both hashed and non-hashed configurations

AuthenticateHostAdmin ( string username, string password, bool persist ) : bool

Authenticates the host admin.

CombinePasswordAndSalt ( string password, string salt ) : string

Returns a string with a password and salt combined.

CreateRandomSalt ( ) : string

Creates a random salt value.

DecryptString ( string encryptedBase64EncodedString, Encoding encoding, byte key, byte initializationVendor ) : string

Decrypts the string.

EncryptString ( string clearText, Encoding encoding, byte key, byte initializationVendor ) : string

Generates the symmetric key.

GenerateInitializationVector ( ) : byte[]

Generates the symmetric key.

GenerateSymmetricKey ( ) : byte[]

Generates the symmetric key.

GetExpiredCookie ( ) : System.Web.HttpCookie

Used to remove a cookie from the client.

GetFullCookieName ( ) : string

Identifies cookies by unique BlogHost names (rather than a single name for all cookies in multiblog setups as the old code did).

HashPassword ( string password ) : string

Get MD5 hashed/encrypted representation of the password and returns a Base64 encoded string of the hash. This is a one-way hash.

Passwords are case sensitive now. Before they weren't.

HashPassword ( string password, string salt ) : string

Get MD5 hashed/encrypted representation of the password and a salt value combined in the proper manner. Returns a Base64 encoded string of the hash. This is a one-way hash.

Passwords are case sensitive now. Before they weren't.

IsInRole ( string role ) : bool

Returns true if the user is in the specified role. It's a wrapper to calling the IsInRole method of IPrincipal.

IsValidPassword ( string password ) : bool

Check to see if the supplied password matches the password for the current blog. This method will check the BlogConfigurationSettings to see if the password should be Encrypted/Hashed

IsValidUser ( string username, string password ) : bool

Validates if the supplied credentials match the current blog

LogOut ( ) : void

Logs the user off the system.

RandomPassword ( ) : string

Generates a "Random Enough" password. :)

ResetHostAdminPassword ( ) : string
ResetPassword ( ) : string

When we Encrypt/Hash the password, we can not un-Encrypt/Hash the password. If user's need to retrieve this value, all we can do is reset the passowrd to a new value and send it.

SelectAuthenticationCookie ( ) : System.Web.HttpCookie

Obtains the correct cookie for the current blog

SetAuthenticationTicket ( string username, bool persist ) : void
SetAuthenticationTicket ( string username, bool persist, bool forceHostAdmin ) : void

Used by methods in this class plus Install.Step02_ConfigureHost

UpdateHostAdminPassword ( string password ) : void
UpdatePassword ( string password ) : void

Updates the current users password to the supplied value. Handles hashing (or not hashing of the password)

Приватные методы

Метод Описание
GetFullCookieName ( bool forceHostAdmin ) : string

Описание методов

Authenticate() публичный статический Метод

Check to see if the supplied OpenID claim is valid for the current blog. If so, Set the user's FormsAuthentication Ticket This method will handle passwords for both hashed and non-hashed configurations We're comparing URI objects rather than using simple string compare because functionally equivalent URI's may not pass string comparaisons, e.g. such as http://example.myopenid.com/ and http://example.myopenid.com (trailing /)
public static Authenticate ( string claimedIdentifier, bool persist ) : bool
claimedIdentifier string
persist bool If valid, should we persist the login
Результат bool

Authenticate() публичный статический Метод

Check to see if the supplied credentials are valid for the current blog. If so, Set the user's FormsAuthentication Ticket This method will handle passwords for both hashed and non-hashed configurations
public static Authenticate ( string username, string password, bool persist ) : bool
username string Supplied UserName
password string Supplied Password
persist bool If valid, should we persist the login
Результат bool

AuthenticateHostAdmin() публичный статический Метод

Authenticates the host admin.
public static AuthenticateHostAdmin ( string username, string password, bool persist ) : bool
username string The username.
password string The password.
persist bool if set to true [persist].
Результат bool

CombinePasswordAndSalt() публичный статический Метод

Returns a string with a password and salt combined.
public static CombinePasswordAndSalt ( string password, string salt ) : string
password string Password.
salt string Salt.
Результат string

CreateRandomSalt() публичный статический Метод

Creates a random salt value.
public static CreateRandomSalt ( ) : string
Результат string

DecryptString() публичный статический Метод

Decrypts the string.
public static DecryptString ( string encryptedBase64EncodedString, Encoding encoding, byte key, byte initializationVendor ) : string
encryptedBase64EncodedString string The encrypted base64 encoded string.
encoding System.Text.Encoding The encoding.
key byte The key.
initializationVendor byte The initialization vendor.
Результат string

EncryptString() публичный статический Метод

Generates the symmetric key.
public static EncryptString ( string clearText, Encoding encoding, byte key, byte initializationVendor ) : string
clearText string The clear text.
encoding System.Text.Encoding The encoding.
key byte The key.
initializationVendor byte The initialization vendor.
Результат string

GenerateInitializationVector() публичный статический Метод

Generates the symmetric key.
public static GenerateInitializationVector ( ) : byte[]
Результат byte[]

GenerateSymmetricKey() публичный статический Метод

Generates the symmetric key.
public static GenerateSymmetricKey ( ) : byte[]
Результат byte[]

GetExpiredCookie() публичный статический Метод

Used to remove a cookie from the client.
public static GetExpiredCookie ( ) : System.Web.HttpCookie
Результат System.Web.HttpCookie

GetFullCookieName() публичный статический Метод

Identifies cookies by unique BlogHost names (rather than a single name for all cookies in multiblog setups as the old code did).
public static GetFullCookieName ( ) : string
Результат string

HashPassword() публичный статический Метод

Get MD5 hashed/encrypted representation of the password and returns a Base64 encoded string of the hash. This is a one-way hash.
Passwords are case sensitive now. Before they weren't.
public static HashPassword ( string password ) : string
password string Supplied Password
Результат string

HashPassword() публичный статический Метод

Get MD5 hashed/encrypted representation of the password and a salt value combined in the proper manner. Returns a Base64 encoded string of the hash. This is a one-way hash.
Passwords are case sensitive now. Before they weren't.
public static HashPassword ( string password, string salt ) : string
password string Supplied Password
salt string
Результат string

IsInRole() публичный статический Метод

Returns true if the user is in the specified role. It's a wrapper to calling the IsInRole method of IPrincipal.
public static IsInRole ( string role ) : bool
role string Role.
Результат bool

IsValidPassword() публичный статический Метод

Check to see if the supplied password matches the password for the current blog. This method will check the BlogConfigurationSettings to see if the password should be Encrypted/Hashed
public static IsValidPassword ( string password ) : bool
password string Supplied Password
Результат bool

IsValidUser() публичный статический Метод

Validates if the supplied credentials match the current blog
public static IsValidUser ( string username, string password ) : bool
username string Supplied Username
password string Supplied Password
Результат bool

LogOut() публичный статический Метод

Logs the user off the system.
public static LogOut ( ) : void
Результат void

RandomPassword() публичный статический Метод

Generates a "Random Enough" password. :)
public static RandomPassword ( ) : string
Результат string

ResetHostAdminPassword() публичный статический Метод

public static ResetHostAdminPassword ( ) : string
Результат string

ResetPassword() публичный статический Метод

When we Encrypt/Hash the password, we can not un-Encrypt/Hash the password. If user's need to retrieve this value, all we can do is reset the passowrd to a new value and send it.
public static ResetPassword ( ) : string
Результат string

SelectAuthenticationCookie() публичный статический Метод

Obtains the correct cookie for the current blog
public static SelectAuthenticationCookie ( ) : System.Web.HttpCookie
Результат System.Web.HttpCookie

SetAuthenticationTicket() публичный статический Метод

public static SetAuthenticationTicket ( string username, bool persist ) : void
username string
persist bool
Результат void

SetAuthenticationTicket() публичный статический Метод

Used by methods in this class plus Install.Step02_ConfigureHost
public static SetAuthenticationTicket ( string username, bool persist, bool forceHostAdmin ) : void
username string Username for the ticket
persist bool Should this ticket be persisted
forceHostAdmin bool
Результат void

UpdateHostAdminPassword() публичный статический Метод

public static UpdateHostAdminPassword ( string password ) : void
password string
Результат void

UpdatePassword() публичный статический Метод

Updates the current users password to the supplied value. Handles hashing (or not hashing of the password)
public static UpdatePassword ( string password ) : void
password string Supplied Password
Результат void