Beispiel #1
0
        private void Test()
        {
            string url = this.ConvertDSNS(txtAccessPoint.Text);

            Connection con = new Connection();

            con.EnableSecureTunnel = true;

            SecurityToken st;

            if (rbBasic.Checked)
            {
                st = new BasicSecurityToken(txtBasicAccount.Text, txtBasicPassword.Text);
            }
            else
            {
                Connection c = new Connection();
                c.EnableSecureTunnel = true;
                c.Connect(txtIssuer.Text, "", txtIssuerAccount.Text, txtIssuerPassword.Text);
                Envelope env = c.SendRequest("DS.Base.GetPassportToken", new Envelope());
                st = new PassportSecurityToken(env.Body.XmlString);
            }

            con.Connect(url, txtContract.Text, st);
        }
        internal static Connection DeployConnect(XmlElement siteElement)
        {
            XmlHelper h           = new XmlHelper(siteElement);
            string    accesspoint = h.GetText("AccessPoint");
            string    contract    = h.GetText("Contract");
            string    authType    = h.GetText("Authentication/@Type").ToLower();
            string    username    = h.GetText("Authentication/UserName");
            string    password    = h.GetText("Authentication/Password");
            string    issuer      = h.GetText("Authentication/Issuer");

            string url = ConvertDSNS(accesspoint);

            Connection con = new Connection();

            con.EnableSecureTunnel = true;

            SecurityToken st;

            if (authType == "basic")
            {
                st = new BasicSecurityToken(username, password);
            }
            else
            {
                Connection c = new Connection();
                c.EnableSecureTunnel = true;
                c.Connect(issuer, "", username, password);
                Envelope env = c.SendRequest("DS.Base.GetPassportToken", new Envelope());
                st = new PassportSecurityToken(env.Body.XmlString);
            }

            con.Connect(url, contract, st);
            return(con);
        }
Beispiel #3
0
        public ActionResult Log(string message)
        {
            var clientmsg            = HttpUtility.UrlDecode(message);
            BasicSecurityToken token = null;

            if (Request.Cookies != null)
            {
                var httpCookie = Request.Cookies["token"];
                if (httpCookie != null)
                {
                    try
                    {
                        token = new BasicSecurityToken(httpCookie.Value); // 20 minutes
                    }
                    catch (BlobExpiredException ex)
                    {
                    }
                }
            }
            if (token != null)
            {
                clientmsg = string.Format("{0}: {1}", token.UserID, clientmsg);
            }
            return(new EmptyResult());
        }
Beispiel #4
0
        protected void SetAuthCookie(user usr, bool rememberme)
        {
            DateTime expires;

            if (rememberme)
            {
                expires = DateTime.UtcNow.AddSeconds(COOKIE_LIFETIME);
            }
            else
            {
                expires = DateTime.UtcNow.AddSeconds(COOKIE_LIFETIME_MIN);
            }

            token = new BasicSecurityToken(usr.id, usr.ToName(), usr.usergroup, usr.permissions, 0, "", expires);
            Response.Cookies["token"].Value   = token.Serialize();
            Response.Cookies["token"].Expires = expires;
        }
Beispiel #5
0
 private void GetAuthCookie()
 {
     if (Request.Cookies != null)
     {
         var httpCookie = Request.Cookies["token"];
         if (httpCookie != null)
         {
             try
             {
                 token = new BasicSecurityToken(httpCookie.Value);
             }
             catch (Exception ex)
             {
                 // expired, clear cookie
                 ClearAuthCookie();
                 ClearOldCookie();
             }
         }
     }
 }
Beispiel #6
0
        /**
         * {@inheritDoc}
         *
         * Returns a token with some faked out values.
         */
        public override ISecurityToken createToken(Dictionary <String, String> parameters)
        {
            String token = parameters[SECURITY_TOKEN_NAME];

            if (token == null || token.Trim().Length == 0)
            {
                // No token is present, assume anonymous access
                return(new AnonymousSecurityToken());
            }

            try
            {
                String[] tokens = token.Split(':');
                if (tokens.Length != TOKEN_COUNT)
                {
                    //throw new SecurityTokenException("Malformed security token");
                    return(BasicSecurityToken.createFromToken(token, int.Parse(PestaSettings.TokenMaxAge)));
                }
                else
                {
                    return(new BasicSecurityToken(
                               HttpUtility.UrlDecode(tokens[OWNER_INDEX], Encoding.UTF8),
                               HttpUtility.UrlDecode(tokens[VIEWER_INDEX], Encoding.UTF8),
                               HttpUtility.UrlDecode(tokens[APP_ID_INDEX], Encoding.UTF8),
                               HttpUtility.UrlDecode(tokens[DOMAIN_INDEX], Encoding.UTF8),
                               HttpUtility.UrlDecode(tokens[APP_URL_INDEX], Encoding.UTF8),
                               HttpUtility.UrlDecode(tokens[MODULE_ID_INDEX], Encoding.UTF8),
                               HttpUtility.UrlDecode(tokens[CONTAINER_ID_INDEX], Encoding.UTF8)));
                }
            }
            catch (BlobCrypterException e)
            {
                throw new SecurityTokenException(e);
            }
            catch (Exception e)
            {
                throw new SecurityTokenException(e);
            }
        }
Beispiel #7
0
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            /*
             * // check url referrer to prevent CSRF attacks
             * if (Request.UrlReferrer != null)
             * {
             #if DEBUG
             *  if (!Request.UrlReferrer.Host.Contains("localhost"))
             #else
             *      if (!Request.UrlReferrer.Host.Contains("lodgeschool"))
             #endif
             *  {
             *      filterContext.Result = new RedirectResult("/Error/NoPermission");
             *      return;
             *  }
             * }
             * */

            token = Request.RequestContext.HttpContext.Items["token"] as BasicSecurityToken;

            if (token == null)
            {
                GetAuthCookie();
            }

            if (token != null)
            {
                Request.RequestContext.HttpContext.Items["token"] = token;
                baseviewmodel.isLoggedIn = true;
                baseviewmodel.sessionid  = long.Parse(token.UserID);
                sessionid = baseviewmodel.sessionid;
                baseviewmodel.userauth.group = token.Group.ToEnum <UserGroup>();
                baseviewmodel.userauth.perms = token.Permission.ToEnum <Permission>();
                auth = baseviewmodel.userauth;
                baseviewmodel.name = token.UserName;
            }

            base.OnActionExecuting(filterContext);
        }
        private void Test()
        {
            string url = this.ConvertDSNS(txtAccessPoint.Text);
            
            Connection con = new Connection();
            con.EnableSecureTunnel = true;

            SecurityToken st;
            if (rbBasic.Checked)
            {
                st = new BasicSecurityToken(txtBasicAccount.Text, txtBasicPassword.Text);
            }
            else
            {
                Connection c = new Connection();
                c.EnableSecureTunnel = true;
                c.Connect(txtIssuer.Text, "", txtIssuerAccount.Text, txtIssuerPassword.Text);
                Envelope env = c.SendRequest("DS.Base.GetPassportToken", new Envelope());                
                st = new PassportSecurityToken(env.Body.XmlString);
            }

            con.Connect(url, txtContract.Text, st);
        }
        internal static Connection DeployConnect(XmlElement siteElement)
        {
            XmlHelper h = new XmlHelper(siteElement);
            string accesspoint = h.GetText("AccessPoint");
            string contract = h.GetText("Contract");
            string authType = h.GetText("Authentication/@Type").ToLower();
            string username = h.GetText("Authentication/UserName");
            string password = h.GetText("Authentication/Password");
            string issuer = h.GetText("Authentication/Issuer");

            string url = ConvertDSNS(accesspoint);
            
            Connection con = new Connection();
            con.EnableSecureTunnel = true;

            SecurityToken st;
            if (authType == "basic")
            {                
                st = new BasicSecurityToken(username, password);
            }
            else
            {
                Connection c = new Connection();
                c.EnableSecureTunnel = true;
                c.Connect(issuer, "", username, password);
                Envelope env = c.SendRequest("DS.Base.GetPassportToken", new Envelope());                
                st = new PassportSecurityToken(env.Body.XmlString);
            }

            con.Connect(url, contract, st);
            return con;
        }