예제 #1
0
        public override bool IsUserInRole(string username, string roleName)
        {
            bool result = false;

            try
            {
                GetUserReq gur = new GetUserReq();
                gur.userid = username;
                GetUserRes gurresponse = _axlService.getUser(gur);
                if (gurresponse != null && gurresponse.@return != null && [email protected] != null && [email protected] != null)
                {
                    foreach (XUserUserGroup group in [email protected])
                    {
                        if (String.Equals(roleName, group.name))
                        {
                            result = true;
                            break;
                        }
                    }
                }
            }
            catch (Exception getUserException)
            {
                log.Error("Impossible de savoir si l'utilisateur " + username + " appartient au groupe " + roleName + ": " + getUserException.ToString());
            }
            return(result);
        }
        private bool userCanMonitoring(string dn, string user)
        {
            bool can = false;

            string[] lines = null;
            lines = (string[])System.Web.HttpRuntime.Cache.Get(user);
            if (lines == null)
            {
                GetUserReq request = new GetUserReq();
                request.userid = user;
                GetUserRes    gur       = _aas.getUser(request);
                List <string> userLines = new List <string>();
                if ([email protected] != null && [email protected] != "")
                {
                    userLines.Add([email protected]);
                }
                if ([email protected] != null && [email protected] != "")
                {
                    userLines.Add([email protected]);
                }
                lines = userLines.ToArray();
                System.Web.HttpRuntime.Cache.Add(user, lines, null, DateTime.Now.AddMinutes(2), System.Web.Caching.Cache.NoSlidingExpiration, System.Web.Caching.CacheItemPriority.Default, null);
            }
            foreach (string line in lines)
            {
                if (line == dn)
                {
                    can = true;
                    break;
                }
            }
            return(can);
        }
예제 #3
0
        public XUser GetUser(string username)
        {
            XUser user = null;

            try
            {
                GetUserReq gur = new GetUserReq();
                gur.userid = username;
                GetUserRes gurresponse = _axlService.getUser(gur);
                if (gurresponse != null && gurresponse.@return != null && [email protected] != null)
                {
                    user = [email protected];
                }
            }
            catch (Exception getUserException)
            {
                log.Error("Impossible de récupérer l'utilisateur Cisco " + username + ": " + getUserException.ToString());
            }
            return(user);
        }
예제 #4
0
        public override string[] GetRolesForUser(string username)
        {
            List <string> result = new List <string>();

            try
            {
                GetUserReq gur = new GetUserReq();
                gur.userid = username;
                GetUserRes gurresponse = _axlService.getUser(gur);
                if (gurresponse != null && gurresponse.@return != null && [email protected] != null && [email protected] != null)
                {
                    foreach (XUserUserGroup group in [email protected])
                    {
                        result.Add(group.name);
                    }
                }
            }
            catch (Exception getRoleException)
            {
                log.Error("Impossible de connaitre les roles de " + username + ": " + getRoleException.ToString());
            }
            return(result.ToArray());
        }
예제 #5
0
        /// <summary>
        /// 获取一个用户,用于用户登录
        /// </summary>
        /// <param name="account">账号</param>
        /// <param name="pwd">密码</param>
        /// <returns></returns>
        public static GetUserRes GetUser(string account, string pwd)
        {
            GetUserRes res = new GetUserRes();

            //using (SQLiteConnection conn = new SQLiteConnection (connstr)) {
            //	using (SQLiteCommand cmd = conn.CreateCommand ()) {
            //		cmd.CommandText = "select * from UserSet where Account = @acc and Password = @pwd and delflag == 1";
            //		cmd.Parameters.AddWithValue ("@acc", account);
            //		cmd.Parameters.AddWithValue ("@pwd", pwd);

            //		conn.Open ();

            //		using (SQLiteDataReader reader = cmd.ExecuteReader ()) {
            //			if (reader.Read ()) {
            //				User user = new User ();
            //				user._id = int.Parse (reader["ID"].ToString ());
            //				user._nickName = reader["Nickname"].ToString ();
            //				user._isParents = bool.Parse (reader["IsParents"].ToString ());
            //				user._level = int.Parse (reader["level"].ToString ());

            //				if (reader.Read ()) { // error
            //					res.state = GetUserEnum.error;
            //					res.stateDesc = "未知错误";
            //					res.user = null;
            //				} else { // ok
            //					res.state = GetUserEnum.ok;
            //					res.stateDesc = "";
            //					res.user = user;
            //				}
            //			} else { // 用户名或密码错误
            //				res.state = GetUserEnum.pwderror;
            //				res.user = null;
            //				res.stateDesc = "用户名或密码错误";
            //			}
            //		}

            //	}
            //}
            if (account == "c1")
            {
                if (pwd == "c1pwd")
                {
                    res.state = GetUserEnum.ok;
                    res.user  = new User()
                    {
                        _nickName  = "c1nickname",
                        _id        = 1,
                        _isParents = false,
                        _level     = 1
                    };
                }
                else
                {
                    res.state     = GetUserEnum.pwderror;
                    res.stateDesc = "帐号或密码错误";
                }
            }
            else if (account == "p1")
            {
                if (pwd == "p1pwd")
                {
                    res.state = GetUserEnum.ok;
                    res.user  = new User()
                    {
                        _nickName  = "p1nickname",
                        _id        = 2,
                        _isParents = true,
                        _level     = 1
                    };
                }
                else
                {
                    res.state     = GetUserEnum.pwderror;
                    res.stateDesc = "帐号或密码错误";
                }
            }
            return(res);
        }