예제 #1
0
        protected void authenticate(object sender, EventArgs e)
        {
            string session = "undefined";

            if (!username.Text.Equals("") && !password.Text.Equals(""))
            {
                DataRepository repo = new DataRepository();
                if (repo.checkCredentials(username.Text, password.Text))
                {
                    string[] shortUsername = username.Text.Split('.');

                    session = $"{shortUsername[0]}";
                    byte[] encodedPassword = new UTF8Encoding().GetBytes(session);
                    byte[] hash            = ((HashAlgorithm)CryptoConfig.CreateFromName("MD5")).ComputeHash(encodedPassword);
                    string encoded         = BitConverter.ToString(hash)
                                             .Replace("-", string.Empty)
                                             .ToLower();

                    AuthenticatedUser user = new AuthenticatedUser();
                    user.setSessionId(encoded)
                    .setUsername(username.Text)
                    .setAuthenticatedRole(repo.getRoleFromUsername(username.Text));

                    this.Session["UserAuth"] = user;

                    authRequired.Controls.Clear();
                    authRequired.InnerHtml = $"Laden Sie die Seite neu, um die Anmeldung abzuschließen.";
                    Page.Response.Redirect(HttpContext.Current.Request.Url.ToString(), true);
                }
                else
                {
                    invalid.Visible = true;
                }
            }
            else
            {
                enterPassword.Visible = true;
            }
        }
예제 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string session = "undefined";

            if (this.Session["UserAuth"] != null)
            {
                authRequired.Visible = false;
                auth.Visible         = true;
                MainContent.Visible  = true;
                shortcuts.Visible    = true;
                pleaseNote.Visible   = false;

                AuthenticatedUser user = (AuthenticatedUser)this.Session["UserAuth"];
                session = $"{user.getUsername()} ({user.getSessionId()})";
                displayName.InnerText = $"{user.getUsername()} ({user.getAuthenticatedRole().ToString()})";
                if (user.isUser())
                {
                    pleaseNote.Visible = true;
                }
            }
            else
            {
                authRequired.Visible = true;
                auth.Visible         = false;
                MainContent.Visible  = false;
                shortcuts.Visible    = false;
            }

            if (Global.isFirstRun)
            {
                firstRun.Visible = true;
            }

            SessionText.InnerText = session;
            this.checkLifecycle();
        }
 public AuthenticatedUser(AuthenticatedUser user)
 {
     this.setUserId(user.getId());
     this.setUsername(user.getUsername());
     this.setAuthenticatedRole(user.getAuthenticatedRole());
 }