☰
Current Page
Main Menu
Home
Home
Editing Authenticating-via-hash
Edit
Preview
H1
H2
H3
default
Set your preferred keybinding
default
vim
emacs
markdown
Set this page's format to
AsciiDoc
Creole
Markdown
MediaWiki
Org-mode
Plain Text
RDoc
Textile
Rendering unavailable for
BibTeX
Pod
reStructuredText
Help 1
Help 1
Help 1
Help 2
Help 3
Help 4
Help 5
Help 6
Help 7
Help 8
Autosaved text is available. Click the button to restore it.
Restore Text
#Authenticating Via Hash [[_TOC_]] ##Question How Can I Authenticate Against a Hash Sent Via Query String? ##Answer You can use the following code sample in order to create basic authentication against a hash value sent via the query string parameter "UserHash". ###C♯ Example ```csharp void Application_PreRequestHandlerExecute(object sender, EventArgs e) { //check for query string values try { string username = HttpContext.Current.Session["UserName"].ToString(); //greg string hash = HttpContext.Current.Request.QueryString["UserHash"]; //"EE5BD620F9418FC5CDEE8BC28DD7659E"; string redir = HttpContext.Current.Request.QueryString["Redirect"]; //null; if (username == null || hash == null) { //redirect to login Response.Redirect("Login.aspx"); } if (CheckMd5Sum(username, hash)) { //set global database connection string SetUserSession(username, "server=(local);database=Northwind;Trusted_Connection=True", redir); } else { //redirect to login Response.Redirect("Login.aspx"); } } catch { //redirect to login Response.Redirect("Login.aspx"); } } void SetUserSession(string sUser, string sConnection, string sRedir) { //query database and set user information and populate variables Izenda.AdHoc.AdHocSettings.SqlServerConnectionString = sConnection; Izenda.AdHoc.AdHocSettings.CurrentUserIsAdmin = (bool)(HttpContext.Current.Session["IsAdmin"]); //false Izenda.AdHoc.AdHocSettings.CurrentUserName = sUser; if (sRedir != null) { HttpContext.Current.Response.Redirect(sRedir); } } bool CheckMd5Sum(string key, string hash) { string sFullKey = key + "Izend$$"; Encoder enc = System.Text.Encoding.Unicode.GetEncoder(); byte[] unicodeText = new byte[sFullKey.Length * 2]; enc.GetBytes(sFullKey.ToCharArray(), 0, sFullKey.Length, unicodeText, 0, true); MD5 md5 = new MD5CryptoServiceProvider(); byte[] result = md5.ComputeHash(unicodeText); StringBuilder sb = new StringBuilder(); for (int i = 0; i < result.Length; i++) { sb.Append(result[i].ToString("X2")); //produces a hexadecimal equivalent of the result padded to 2 characters minimum (1 would become 01) } return (hash.CompareTo(sb.ToString()) == 0); } ```
Uploading file...
Header
 **This documentation is for the legacy Izenda 6 product. Documentation for the new Izenda 7 product can be found at [[https://www.izenda.com/docs/|https://www.izenda.com/docs/]]**
Sidebar
 --- * [[Izenda 7 Series Documentation|https://www.izenda.com/docs/]] * [[Release Notes]] * [[Upgrade Best Practices|FAQ/Izenda-Update-Best-Practices]] * [[FAQ]] * [[Tutorials]] * [[The Izenda API|/API/AdHocConfig]] * [[The AdHocSettings class|/API/AdHocSettings]] * [Developer Links and Guides](/Guides/Developer-Links-and-Guides) * [[Known Issues]] --- * <a href="http://www.izenda.com" rel="nofollow" target="_blank">Izenda Website</a> * [Product Video](https://www.youtube.com/watch?v=X3-yWFq0w5A) * <a href="http://www.izenda.com/blog" rel="nofollow" target="_blank">Izenda Blog</a> * <a href="http://www.izenda.com/company/" rel="nofollow" target="_blank">About Us</a> * <a href="http://www.izenda.com/contact-us/" rel="nofollow" target="_blank">Contact Us</a> --- * [Guide To Report Design](/Guides/ReportDesign) * [Making Custom Forms Video](http://www.youtube.com/watch?v=5b2axJlgdFs) --- * [[Acknowledgements]]
Edit message:
Cancel