public LoginResult Login(string username, string password)
        {
            try
            {
                if (AuthenticationMode.Forms != SPSecurity.AuthenticationMode || SessionAuthenticationModule == null)
                {
                    return(new LoginResult {
                        ErrorCode = LoginErrorCode.NotInFormsAuthenticationMode, Message = "NotInFormsAuthenticationMode"
                    });
                }
                if (!SPClaimsUtility.AuthenticateFormsUser(SPAlternateUrl.ContextUri, username, password))
                {
                    return(new LoginResult {
                        ErrorCode = LoginErrorCode.PasswordNotMatch, Message = "PasswordNotMatch"
                    });
                }

                return(new LoginResult
                {
                    ErrorCode = LoginErrorCode.NoError,
                    CookieName = SessionAuthenticationModule.CookieHandler.Name,
                    TimeoutSeconds = SessionAuthenticationModule.CookieHandler.PersistentSessionLifetime.Value.Seconds,
                    FedAuth = HttpContext.Current.Response.Cookies.Get(SessionAuthenticationModule.CookieHandler.Name).Value
                });
            }
            catch (Exception ex)
            {
                string messge = ex.Message;
                return(new LoginResult
                {
                    ErrorCode = LoginErrorCode.Exception,
                    Message = ex.Message
                });
            }
        }
Ejemplo n.º 2
0
        protected void Button1_Click(object sender, EventArgs e)

        {
            bool status = SPClaimsUtility.AuthenticateFormsUser(Context.Request.UrlReferrer, txtUserName.Text, txtPassword.Text);

            if (!status)

            {
                lblError.Text = "Error en password o nombre de usuario.";
            }

            else

            {
                if (Context.Request.QueryString.Keys.Count > 1)

                {
                    Response.Redirect(Context.Request.QueryString["Source"].ToString());
                }

                else
                {
                    Response.Redirect(Context.Request.QueryString["ReturnUrl"].ToString());
                }
            }
        }
Ejemplo n.º 3
0
        public string GetUrlPublic(string token, string urlRedirect)
        {
            string urlRoot = SPContext.Current.Site.Url;

            if (!string.IsNullOrEmpty(token))
            {
                try
                {
                    byte[] tokenByte   = Convert.FromBase64String(token);
                    string tokenDecode = Encoding.UTF8.GetString(tokenByte);

                    string     validate    = Common.ValidateJWT(tokenDecode);
                    PayloadJWT payloadJWT  = JsonConvert.DeserializeObject <PayloadJWT>(validate);
                    string     tokenDecryp = string.IsNullOrEmpty(payloadJWT.hashpwd) ? "" : Common.doDecryptAES(payloadJWT.hashpwd);

                    string user = payloadJWT.context.user.userName;
                    string pass = ConfigurationManager.AppSettings["sqlAuth"] == "yes" ? $"{user}@123" : tokenDecryp;

                    bool login = SPClaimsUtility.AuthenticateFormsUser(new Uri(urlRoot), user, pass);
                    if (login)
                    {
                        WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.Redirect;
                        WebOperationContext.Current.OutgoingResponse.Location   = urlRedirect;

                        var response = HttpContext.Current.Response;
                        response.Cookies.Remove("token");
                        HttpCookie cookies = new HttpCookie("token")
                        {
                            Value   = tokenDecode, //EncryptString(usrName + ":" + pwd);
                            Expires = DateTime.Now.AddDays(1d)
                        };
                        response.Cookies.Add(cookies);
                    }
                    else
                    {
                        WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.Forbidden;
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }

            return("");
        }
Ejemplo n.º 4
0
        public string GetToken(string user, string password)
        {
            string urlRoot = SPContext.Current.Site.Url;

            byte[] userByte   = Convert.FromBase64String(user);
            string userDecode = Encoding.UTF8.GetString(userByte);

            byte[] passByte   = Convert.FromBase64String(password);
            string passDecode = Encoding.UTF8.GetString(passByte);
            bool   login      = SPClaimsUtility.AuthenticateFormsUser(new Uri(urlRoot), userDecode, passDecode);

            if (login)
            {
                string token = Common.EncryptString(userDecode + ":" + passDecode);
                return(token);
            }
            else
            {
                return("Error:Invalid User or Password");
            }
        }