Tip: RequestAccessEnabled programatically using the SharePoint Object Model

Tobias Zimmergren
Tobias Zimmergren

I bumped into a strange problem today. It wasn’t hard to solve, but worth mentioning.

To manually enable the option to request permissions to the site, you do this from Site Actions – Site Settings – Advanced Permissions – Settings – Access Request.
From that page you can specify if users should be able to request permissions to the site, and who should receive the email.

RequestAccessEnabled via code instead

No worries so far, but this time I had to do this through code upon dynamically creating a new site. This means that we need to speak to the object model in order to get things right…

When you consult MSDN, it clearly states that this property ( web.RequestAccessEnabled ) is a get/set property which you can get or set via code. However this is not the case. It’s a get-only property which means that you can’t really use it to enable access requests.

This is simply solved by using the somewhat similar property called RequestAccessEmail. So, if you do web.RequestAccessEmail =

tobias at zimmergren dot net

; you’re automatically enabling the request access for that site.

Now your users can simply see the "Request Permissions" link in order to submit a request to the specified email-address in order to join the site.

(Just a tip to those of you who read MSDN and tried to follow it blindly ;)

Have a good day.


Tobias Zimmergren Twitter

Hi, I'm Tobias! 👋 I write about Microsoft Azure, security, cybersecurity, compliance, cloud architecture, Microsoft 365, and general tech!

Reactions and mentions

Hi, I'm Tobias 👋

Tobias Zimmergren profile picture

Find out more about me.

Recent comments