Какой объект вы помещаете в раздел, чтобы оценить, аутентифицирован ли пользователь? Я бы просто установил логическое свойство с именем «ChangePasswordOnNextLoggin», а затем, если оно истинно, я перенаправляю на «ChangePassword.aspx», вы можете поместить его куда угодно (даже на главной странице, поскольку вы перенаправляете только, если это свойство истинно, избегая бесконечный цикл).
Но лично я бы сделал обертку для объекта PAGE, которую должен наследовать каждый код .aspx, стоящий за классом, тогда я бы вместо этого унаследовал эту обертку, в ctor-обертке я бы добавил метод Authenticate к событию Load в такой ситуации. Таким образом, это будет первый метод, который будет вызван при загрузке любой страницы. Если я сделаю это, я смогу избежать размещения кода проверки на MasterPage и кода позади, делая код чище. Ты понял?