예제 #1
0
파일: Role.cs 프로젝트: kouweizhong/vita
 public void Grant(AuthorizationFilter filter, params Activity[] activities)
 {
     foreach (var act in activities)
     {
         ActivityGrants.Add(new ActivityGrant(act, filter));
     }
 }
예제 #2
0
파일: Role.cs 프로젝트: kouweizhong/vita
        public DynamicActivityGrant GrantDynamic(AuthorizationFilter filter, Activity activity,
                                                 string documentKey = null, AuthorizationFilter documentFilter = null)
        {
            var grant = new DynamicActivityGrant(activity, filter, documentKey, documentFilter);

            ActivityGrants.Add(grant);
            return(grant);
        }
예제 #3
0
        private static int _id;                        //to generate unique key

        public DynamicActivityGrant(Activity activity, AuthorizationFilter filter = null,
                                    string documentKey = null, AuthorizationFilter initialCheckFilter = null)
            : base(activity, filter)
        {
            DocumentKey        = documentKey;
            InitialCheckFilter = initialCheckFilter;
            Key  = "%%AuthDynamicEnablement%%" + Activity.Name;
            Key += "." + (_id++); //to garantee uniqueness
        }
예제 #4
0
파일: Role.cs 프로젝트: kouweizhong/vita
        public void Grant(AuthorizationFilter filter, params Permission[] permissions)
        {
            Util.Check(permissions != null && permissions.Length > 0, "Role.Grant: Permission list is empty");
            // Create an activity
            var name = permissions[0].Name;

            if (permissions.Length > 1)
            {
                name += "**";
            }
            var act = new Activity(name, permissions);

            Grant(filter, act);
        }
예제 #5
0
 public ActivityGrant(Activity activity, AuthorizationFilter dataFilter = null)
 {
     Activity  = activity;
     Filter    = dataFilter;
     IsDynamic = this is DynamicActivityGrant;
 }