Exemple #1
0
        public override UserIdentity Authenticate(string mUserName, string mPassword)
        {
            user TempUser = _membershipProvider.AuthenUser(mUserName, mPassword);

            if (TempUser != null)
            {
                IList <role>            TempRoles = TempUser.Roles.Where <role>(r => r.AppID == _membershipProvider.Application.AppID).ToList <role>();
                IList <FanxiPermission> _FPList   = new List <FanxiPermission>();
                foreach (role r in TempRoles)
                {
                    foreach (permission per in r.Permissions)
                    {
                        if (_FPList.Where(i => i.Name == per.name).Count() > 0)
                        {
                            continue;
                        }
                        string          mObject    = (per.ObjectRBAC != null) ? per.ObjectRBAC.name : "";
                        string          mOperation = (per.Operation != null) ? per.Operation.name : "";
                        FanxiPermission _FP        = new FanxiPermission(per.name, mObject, mOperation);
                        _FPList.Add(_FP);
                    }
                }
                return(new UserIdentity(TempUser.username, _FPList, TempRoles.Select(p => p.name).ToArray()));
            }
            else
            {
                return(null);
            }
        }
Exemple #2
0
        public override UserIdentity Authenticate(string mUserName, string mPassword)
        {
            Func <role, bool> predicate = null;
            user TempUser = _membershipProvider.AuthenUser(mUserName, mPassword);

            if (predicate == null)
            {
                predicate = delegate(role r)
                {
                    return(r.AppID == this._membershipProvider.Application.AppID);
                };
            }
            if (TempUser != null)
            {
                IList <role>       TempRoles = (from r in TempUser.Roles where r.AppID == _membershipProvider.Application.AppID select r).ToList();
                IList <permission> PerList   = new List <permission>();
                foreach (role r in TempRoles)
                {
                    foreach (permission per in r.Permissions)
                    {
                        if (!PerList.Contains(per))
                        {
                            PerList.Add(per);
                        }
                    }
                }
                IList <FanxiPermission> _FPList = new List <FanxiPermission>();
                foreach (permission per in PerList)
                {
                    string          mObject    = (per.ObjectRBAC != null) ? per.ObjectRBAC.name : "";
                    string          mOperation = (per.Operation != null) ? per.Operation.name : "";
                    FanxiPermission _FP        = new FanxiPermission(per.name, mObject, mOperation);
                    _FPList.Add(_FP);
                }
                string[] RoleStrs = TempRoles.Select <role, string>(delegate(role r)
                {
                    return(r.name);
                }).ToArray <string>();
                //(from r in TempRoles select r.name).ToArray();
                return(new UserIdentity(TempUser.username, _FPList, RoleStrs));
            }
            else
            {
                return(null);
            }
        }
 public override UserIdentity Authenticate(string mUserName, string mPassword)
 {
     Func<role, bool> predicate = null;
     user TempUser = _membershipProvider.AuthenUser(mUserName, mPassword);
     if (predicate == null)
     {
         predicate = delegate(role r)
         {
             return r.AppID == this._membershipProvider.Application.AppID;
         };
     }
     if (TempUser != null)
     {
         IList<role> TempRoles = (from r in TempUser.Roles where r.AppID == _membershipProvider.Application.AppID select r).ToList();
         IList<permission> PerList = new List<permission>();
         foreach (role r in TempRoles)
         {
             foreach (permission per in r.Permissions)
             {
                 if (!PerList.Contains(per)) PerList.Add(per);
             }
         }
         IList<FanxiPermission> _FPList = new List<FanxiPermission>();
         foreach(permission per in PerList)
         {
             string mObject = (per.ObjectRBAC != null) ? per.ObjectRBAC.name : "";
             string mOperation = (per.Operation != null) ? per.Operation.name : "";
             FanxiPermission _FP = new FanxiPermission(per.name, mObject, mOperation);
             _FPList.Add(_FP);
         }
         string[] RoleStrs  = TempRoles.Select<role, string>(delegate (role r)
                             {
                                 return r.name;
                             }).ToArray<string>();
         //(from r in TempRoles select r.name).ToArray();
         return new UserIdentity(TempUser.username, _FPList,RoleStrs);
     }
     else return null;
 }
Exemple #4
0
        bool CheckPermission(string _object, string _Operation)
        {
            FanxiPermission per = (from p in Permissions where (p.RbacObject.ToUpper() == _object.ToUpper()) && (p.RbacOperation.ToUpper() == _Operation) select p).Single();

            return(per != null);
        }