Exemplo n.º 1
0
        public ActionResult Login(UserPC model, bool isAuto = false)
        {
            ReturnData <string> ret = new ReturnData <string>();
            //Bll实例化放action里面 为了不让每次都实例化 产生废代码
            UserPCBll bll = new UserPCBll();

            //只要找得到记住的密码就去匹配记住的密码
            if (Request.Cookies["remember"] != null)
            {
                if (Request.Cookies["remember"]["uname"] != "" && model.PassWord == "********")
                {
                    model.Status   = 99;
                    model.PassWord = Request.Cookies["remember"]["pwd"];
                }
            }
            //ReturnData 是值类型 不需要ref来赋值传递 当传入方法里时返回时还是带有值的
            var user = bll.Login(ret, model, EnterpriseKey);

            if (user != null)
            {
                //登录成功了 才记住用户名和密码
                if (isAuto)
                {
                    Response.Cookies["remember"]["uname"] = user.UserName;
                    Response.Cookies["remember"]["pwd"]   = Convert.ToBase64String(YYYCommon.Encryption.SymmetricEncryption.Encrypt(user.PassWord + "\r" + DateTime.Now.ToString()));
                    Response.Cookies["remember"].Expires  = DateTime.Now.AddDays(7);
                }
                else
                {
                    Response.Cookies["remember"]["uname"] = "";
                }
                //保存登录信息
                Session["user"] = user;
                //设置跳转路径
                Dictionary <string, object> Identify = new Dictionary <string, object>();

                if (EnterpriseKey.ToLower() == "opera")
                {
                    Identify.Add("url", "/Operate/Areas/Index");
                }
                else
                {
                    //return RedirectToAction("WellCome");
                    Identify.Add("url", "/Login/Welcome");
                }
                ret.Identify = Identify;
            }
            return(Content(ret.GetJson()));
        }
Exemplo n.º 2
0
        public void BuildCertificates()
        {
            //Cria os certificados digitais

            //firstEnterprise
            Int64 enterpriseCount = db.ExecuteScalar <Int64>("select count(*) from [enterprise]", CommandType.Text, null, null);

            if (enterpriseCount > 0)
            {
                firstEnterprise = false;
            }

            EnterpriseKey ent = new EnterpriseKey(new Uri("//" + this.fqdn), this.name, firstEnterprise);

            ent.BuildCerts(); //Cria os certificados

            this.ServerPKCS12Cert = ent.ServerPKCS12Cert;
            this.ServerCert       = ent.ServerCert;
            this.ClientPKCS12Cert = ent.ClientPKCS12Cert;
        }
Exemplo n.º 3
0
        private void BuildCert(SqlConnection conn, SqlTransaction trans)
        {
            base.Connection = conn;

            DataTable dt = ExecuteDataTable("select fqdn, name from enterprise with(nolock) where id = " + this.enterpriseId, trans);

            if ((dt == null) || (dt.Rows.Count == 0)) //Não encontrou a empresa
            {
                throw new Exception("Enterprise '" + enterpriseId + "' not found");
            }


            System.Security.Cryptography.SHA1Managed sha = new System.Security.Cryptography.SHA1Managed();
            Byte[] hash = sha.ComputeHash(Encoding.UTF8.GetBytes(dt.Rows[0]["fqdn"].ToString()));
            String key  = BitConverter.ToString(hash).Replace("-", "");


            EnterpriseKey keys = new EnterpriseKey(new Uri("//" + dt.Rows[0]["fqdn"].ToString()), dt.Rows[0]["name"].ToString());

            keys.BuildCerts();

            try
            {
                this.ServerPKCS12String = keys.ServerPKCS12Cert;

                Byte[] certData = Convert.FromBase64String(this.ServerPKCS12String);
                this.ServerCert       = CATools.GetX509CertFromPKCS12(certData, key);
                this.ServerCertString = CATools.X509ToBase64(this.ServerCert);
                this.ServerPKCS12Cert = CATools.LoadCert(certData, key);

                this.ClientPKCS12String = keys.ClientPKCS12Cert;
                this.ClientPKCS12Cert   = CATools.LoadCert(Convert.FromBase64String(this.ClientPKCS12String), key);
            }
            finally
            {
            }
        }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            String data = "Integrity check error: Multiplus entities (10583, 13065) found at this filtered data";

            List <String> duplicatedEntities = new List <String>();

            //Captura somente os IDs das entidades
            Regex rex = new Regex(@"\((.*?)\)");
            Match m   = rex.Match(data);

            if (m.Success)
            {
                String[] entities = m.Groups[1].Value.Replace(" ", "").Split(",".ToCharArray());
                duplicatedEntities.AddRange(entities);
            }


            FilterRule r = new FilterRule("teste001");

            r.AddCondition("g1", FilterSelector.AND, 1, "Nome", DataType.Text, "Helvio", FilterConditionType.Equal, FilterSelector.OR);
            r.AddCondition("g1", FilterSelector.OR, 1, "Nome", DataType.Text, "Thais", FilterConditionType.Equal, FilterSelector.OR);
            r.AddCondition("g2", FilterSelector.AND, 2, "Setor", DataType.Text, "Financeiro", FilterConditionType.Equal, FilterSelector.OR);
            r.AddCondition("g3", FilterSelector.OR, 3, "Cidade", DataType.Text, "Curitiba", FilterConditionType.Equal, FilterSelector.OR);

            FilterRuleCollection frCol = new FilterRuleCollection();

            frCol.AddFilterRule(r);

            foreach (FilterRule r1 in frCol)
            {
                Console.WriteLine(r1.ToString());
                Console.WriteLine(r1.ToSqlString());
            }

            FilterChecker chk = new FilterChecker(frCol);

            for (Int32 i = 10; i <= 100; i++)
            {
                chk.AddFieldData(i, DataType.Text, "Test 0" + i);
            }

            for (Int32 i = 10; i <= 100; i++)
            {
                chk.AddFieldData(1, DataType.Text, "Teste 1 " + i);
            }

            for (Int32 i = 10; i <= 100; i++)
            {
                chk.AddFieldData(2, DataType.Text, "Teste 2 " + i);
            }

            for (Int32 i = 10; i <= 100; i++)
            {
                chk.AddFieldData(3, DataType.Text, "Teste 3 " + i);
            }

            chk.AddFieldData(1, DataType.Text, "Helvio");
            chk.AddFieldData(1, DataType.Text, "SafeTrend.com.br");
            chk.AddFieldData(1, DataType.Text, "Helvio Carvalho");
            chk.AddFieldData(1, DataType.Text, "Thais Freitas Lima");
            chk.AddFieldData(2, DataType.Text, "Financeiro");
            chk.AddFieldData(3, DataType.Text, "Curitiba");

            FilterMatchCollection col = chk.Matches();

            return;

            String tstj = "{ \"type\":\"SpecificTime\", \"start_time\":\"07:30:00\", \"end_time\":\"19:00:00\", \"week_day\":[\"monday\",\"tuesday\",\"wednesday\",\"thursday\",\"friday\"] }";

            IAM.TimeACL.TimeAccess acl = new IAM.TimeACL.TimeAccess();
            acl.FromJsonString(tstj);
            Console.WriteLine(acl.BetweenTimes(DateTime.Now));


            return;

            String   tst  = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffff");
            DateTime tst2 = DateTime.Parse(tst);

            EnterpriseKey ent = new EnterpriseKey(new Uri("//demo.safeid.com.br"), "SafeID - Demo");

            ent.BuildCerts(); //Cria os certificados

            StringBuilder text = new StringBuilder();

            text.AppendLine("Server cert");
            text.AppendLine(ent.ServerCert);
            text.AppendLine("");

            text.AppendLine("Server PKCS#12 cert");
            text.AppendLine(ent.ServerPKCS12Cert);
            text.AppendLine("");

            text.AppendLine("Client PKCS#12 cert");
            text.AppendLine(ent.ClientPKCS12Cert);

            File.WriteAllText("certdata.txt", text.ToString());


            /*
             * Dictionary<String, String> properties = new Dictionary<string, string>();
             * properties.Add("locked", "false");
             *
             * UserData user = new UserData(properties);
             *
             * //string parsestr = "(u.ContainsProperty('locked'))";
             * string parsestr = "(u.PropertyIsEqual('locked', 'false'))";
             * var p = new CompiledExpression(parsestr);
             * p.RegisterType("u", user);
             * p.Parse();
             * p.Compile();
             * Console.WriteLine("Result: {0} {1}", p.Eval(), p.Eval().GetType().Name);*/

            //"(vars.myExternalVar + 3) / 2 * 4.5 " // returns 20.25
            //"vars.getRandomNumber()"  // returns a random number
        }