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)); }
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))); }
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))); }
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))); }
public static TargetPrivilegePair Pair(SecurityTarget target, SecurityPrivilege privilege, Func <HtmlHelper, IHtmlString> view) { return(new TargetPrivilegePair { TargetId = target.Id(), PrivilegeId = privilege.SID, View = view }); }
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 })); }
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))); }
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)) })); }
public IEnumerable <SecurityTargetKind> KindsFor(SecurityTarget target) { //Contract.Requires( target != null ); //Contract.Ensures( //Contract.Result<IEnumerable<SecurityTargetKind>>() != null ); throw new NotImplementedException(); }
public void SetAcl(SecurityTarget target, IEnumerable <AclEntry> entries) { //Contract.Requires( target != null ); //Contract.Requires( entries != null ); throw new NotImplementedException(); }
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))); }