a·gen·tic a·gil·i·ty

Loss of My.User.Name is not that bad…

Explains how to access and manage user and security information in .NET applications using System.DirectoryServices.AccountManagement instead of My.User.Name.

Published on
2 minute read
Image
https://nkdagility.com/resources/2iThCwSc5Qx
Subscribe
1Imports System.DirectoryServices.AccountManagement

Loss of My.User.Name is not that bad... In WPF development you can’t just use the “My.User.Name” classes as it is not set by default. If you still want to use it you can “My.User.InitializeWithWindowsUser()” to have it setup, but there is a better way.

If you are using Active Directory .Net 3.5 has provided a new way to access information…

There is a new assembly called “System.DirectoryServices.AccountManagement” that encapsulates all of the logic for accessing security information in a number of ways.

You can create a link to your local Active Directory  by calling:

1 Dim ctx As New PrincipalContext(ContextType.Domain)

The options for conencting are:

These options allow for most security authentications in your .NET applications, and it does not stop with wrapping the top level AD. if you want to access and control a user you need only:

1Dim u As UserPrincipal = UserPrincipal.FindByIdentity(ctx, IdentityType.Sid, WindowsIdentity.GetCurrent.User.Value)

I really like this as often I have has to build and Google (more the later than the former) class library for manipulating Active Directory objects, and you need not just use the Sid. You can use:

And this is just the direct load of a user object. There are Group object as well as fill search capability with the PrincipalSearcher and various other bits and bobs…

Well thats my find of the day Loss of My.User.Name is not that bad...

Technorati Tags: .NET   WPF

Subscribe

Related Blog

No related videos found.

Connect with Martin Hinshelwood

If you've made it this far, it's worth connecting with our principal consultant and coach, Martin Hinshelwood, for a 30-minute 'ask me anything' call.

Our Happy Clients​

We partner with businesses across diverse industries, including finance, insurance, healthcare, pharmaceuticals, technology, engineering, transportation, hospitality, entertainment, legal, government, and military sectors.​

Healthgrades Logo

Healthgrades

Capita Secure Information Solutions Ltd Logo

Capita Secure Information Solutions Ltd

Philips Logo

Philips

Hubtel Ghana Logo

Hubtel Ghana

Alignment Healthcare Logo

Alignment Healthcare

Higher Education Statistics Agency Logo

Higher Education Statistics Agency

Genus Breeding Ltd Logo

Genus Breeding Ltd

Ericson Logo

Ericson

New Signature Logo

New Signature

Cognizant Microsoft Business Group (MBG) Logo

Cognizant Microsoft Business Group (MBG)

Qualco Logo

Qualco

Microsoft Logo

Microsoft

Schlumberger Logo

Schlumberger

Kongsberg Maritime Logo

Kongsberg Maritime

Xceptor - Process and Data Automation Logo

Xceptor - Process and Data Automation

Teleplan Logo

Teleplan

Flowmaster (a Mentor Graphics Company) Logo

Flowmaster (a Mentor Graphics Company)

Big Data for Humans Logo

Big Data for Humans

Nottingham County Council Logo

Nottingham County Council

Department of Work and Pensions (UK) Logo

Department of Work and Pensions (UK)

Royal Air Force Logo

Royal Air Force

Ghana Police Service Logo

Ghana Police Service

New Hampshire Supreme Court Logo

New Hampshire Supreme Court

Washington Department of Transport Logo

Washington Department of Transport

Trayport Logo

Trayport

MacDonald Humfrey (Automation) Ltd. Logo

MacDonald Humfrey (Automation) Ltd.

ALS Life Sciences Logo

ALS Life Sciences

Philips Logo

Philips

Akaditi Logo

Akaditi

ProgramUtvikling Logo

ProgramUtvikling