11

Looking for a way to prompt every user to accept a "Terms of Use Agreement" on the first visit to their My Site. currently thinking of several approaches and looking for some feedback and other ideas.

  1. Add a control to the master page that handles prompting the user to accept the Terms of Use Agreement and storing a flag in the property bag once they've accepted.

  2. HTTP Module for the My Site Web Applicatoin that handles checking/setting a flag in the property bag once the user accepts.

Thoughts? Suggestions?

1 Answer 1

10

Been there, done that a couple of years ago ;-)

Instead of messing with a masterpage (which you'd need to apply to each MySite because they are separate site collections) or HTTP module I'd recommend the approach outlined here http://sharepointmagazine.net/articles/custom-page-security-using-sharepoint-delegate-controls with a DelegateControl. Just staple the feature to the MySite site definition and you're done.

Also storing the approval flag could be done in a custom user profile property (that's how we did it) instead of the SPWeb properties. That would make it easy for an Admin to toggle it without custom code.

1
  • 1
    That is indeed, a very nice solution! Was about to post an answer and vote for option 1, but this is much better, imho. I am not too much of a fan of a custom module, it gets called very every request. The custom user profile was part of my solution, too. It's better too, if you want to analyze who didn't accept or yet have to accept the terms of use agreement.
    – Bas Lijten
    Jul 14, 2011 at 16:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.