chore: archive v1.1 Enhanced Reports milestone
Some checks failed
Release SharePoint Toolbox v2 / release (push) Failing after 14s
Some checks failed
Release SharePoint Toolbox v2 / release (push) Failing after 14s
v1.1 shipped with 4 phases (25 plans), 10/10 requirements complete: - Global site selection (toolbar picker, all tabs consume) - User access audit (Graph people-picker, direct/group/inherited) - Simplified permissions (plain-language labels, risk levels, detail toggle) - Storage visualization (LiveCharts2 pie/donut + bar charts) Post-phase polish: centralized site selection (removed per-tab pickers), claims prefix stripping, StorageMetrics backfill, chart tooltip fix, summary stats in app + HTML exports. 205 tests passing, 10,484 LOC. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -114,7 +114,7 @@ public class UserAccessAuditService : IUserAccessAuditService
|
||||
|
||||
yield return new UserAccessEntry(
|
||||
UserDisplayName: displayName,
|
||||
UserLogin: login,
|
||||
UserLogin: StripClaimsPrefix(login),
|
||||
SiteUrl: site.Url,
|
||||
SiteTitle: site.Title,
|
||||
ObjectType: entry.ObjectType,
|
||||
@@ -133,6 +133,16 @@ public class UserAccessAuditService : IUserAccessAuditService
|
||||
/// <summary>
|
||||
/// Classifies a PermissionEntry into Direct, Group, or Inherited access type.
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// Removes SharePoint claims prefixes like "i:0#.f|membership|" so the
|
||||
/// UI displays a plain email instead of the full claim string.
|
||||
/// </summary>
|
||||
private static string StripClaimsPrefix(string login)
|
||||
{
|
||||
int pipe = login.LastIndexOf('|');
|
||||
return pipe >= 0 ? login[(pipe + 1)..] : login;
|
||||
}
|
||||
|
||||
private static AccessType ClassifyAccessType(PermissionEntry entry)
|
||||
{
|
||||
// Inherited: object does not have unique permissions
|
||||
|
||||
Reference in New Issue
Block a user