Exemplo n.º 1
0
        public static IHtmlString For <TDomain>(this IAccessControlList lst, SecurityTarget target, string fieldName, Func <HtmlHelper, IJsControlledView> subjSelector)
        {
            //Contract.Requires( lst != null );
            //Contract.Requires( target != null );
            //Contract.Requires( !String.IsNullOrEmpty( fieldName ) );
            //Contract.Requires( subjSelector != null );
            //Contract.Ensures( //Contract.Result<IHtmlString>() != null );

            var sec = lst.Html.ViewContext.HttpContext.Composition().Get <ISecurityService <TDomain> >();

            return(lst.With(sec.DefaultAclEditModelFor(target, subjSelector), fieldName));
        }
Exemplo n.º 2
0
 public static IEnumerable <TargetPrivilegePair> GetApplicablePrivilegesForEditor <TDomain>(this ISecurityService <TDomain> sec,
                                                                                            SecurityTarget target, Func <HtmlHelper, SecurityPrivilege, IHtmlString> renderPrivilege = null)
 {
     renderPrivilege = renderPrivilege ?? ((_, p) => new MvcHtmlString(p.Name));
     return(sec.GetApplicablePrivilegesForEditor(new[] { target }, (html, _, p) => renderPrivilege(html, p)));
 }
Exemplo n.º 3
0
 public static IJsControlledView DefaultPrivilegesEditorFor <TDomain>(this ISecurityService <TDomain> sec,
                                                                      SecurityTarget target, Func <HtmlHelper, SecurityPrivilege, IHtmlString> renderPrivilege)
 {
     return(sec.DefaultPrivilegesEditorFor(new[] { target }, (html, _, p) => renderPrivilege(html, p)));
 }
Exemplo n.º 4
0
        public static IJsControlledView DefaultPrivilegesEditorFor <TDomain>(this ISecurityService <TDomain> sec, SecurityTarget target)
        {
            //Contract.Requires( sec != null );
            //Contract.Requires( target != null );
            //Contract.Ensures( //Contract.Result<IJsControlledView>() != null );

            return(sec.DefaultPrivilegesEditorFor(target, (_, p) => new MvcHtmlString(p.Name)));
        }
Exemplo n.º 5
0
 public static TargetPrivilegePair Pair(SecurityTarget target, SecurityPrivilege privilege, Func <HtmlHelper, IHtmlString> view)
 {
     return(new TargetPrivilegePair {
         TargetId = target.Id(), PrivilegeId = privilege.SID, View = view
     });
 }
Exemplo n.º 6
0
 public static ILookup <BigTuple <Guid>, AnnotatedAclEntry> AllEntriesForEdit <TDomain>(this ISecurityService <TDomain> sec, SecurityTarget target)
 {
     //Contract.Requires( sec != null );
     //Contract.Requires( target != null );
     return(sec.AllEntriesForEdit(new[] { target }));
 }
Exemplo n.º 7
0
        public static AclEditModel DefaultAclEditModelFor <TDomain>(this ISecurityService <TDomain> sec, SecurityTarget target, Func <HtmlHelper, IJsControlledView> subjectSelector)
        {
            //Contract.Requires( sec != null );
            //Contract.Requires( target != null );
            //Contract.Ensures( //Contract.Result<AclEditModel>() != null );

            return(sec.DefaultAclEditModelFor(new[] { target }, subjectSelector, (_, __, p) => new MvcHtmlString(p.Name)));
        }
Exemplo n.º 8
0
 public IAuditEventBuilder CreateEvent(AuditEventKind kind, SecurityTarget target)
 {
     return(new EventBuilder(this, new AuditEvent {
         KindId = kind.ID, Time = DateTime.Now, TargetId = new Security.Data.SecurityTargetId(target.Elements.Select(e => e.ID))
     }));
 }
Exemplo n.º 9
0
 public IEnumerable <SecurityTargetKind> KindsFor(SecurityTarget target)
 {
     //Contract.Requires( target != null );
     //Contract.Ensures( //Contract.Result<IEnumerable<SecurityTargetKind>>() != null );
     throw new NotImplementedException();
 }
Exemplo n.º 10
0
 public void SetAcl(SecurityTarget target, IEnumerable <AclEntry> entries)
 {
     //Contract.Requires( target != null );
     //Contract.Requires( entries != null );
     throw new NotImplementedException();
 }
Exemplo n.º 11
0
 public static IAuditEventBuilder CreateEvent <TDomain, TEvent>(this IAuditService <TDomain> service, SecurityTarget target, TEvent e) where TEvent : class
 {
     return(Aud.AsPropertyValues(e).Aggregate(service.CreateEvent(Aud.Event <TEvent>(), target), (b, pv) => b.With(pv)));
 }