Повторно вычислить утверждения для пользователя SharePoint 2010, пока пользователь все еще вошел в систему

Я ни в коем случае не эксперт по SharePoint, и мне было очень трудно найти нужную информацию по этому поводу. Помогите, пожалуйста!

Мне нужен способ вызвать токен утверждения, установленный с помощью вызова SPFederationAuthenticationModule.SetPrincipalAndWriteSessionToken , чтобы пересчитать утверждения по токену без выхода текущего пользователя из системы. Есть какой-либо способ сделать это?

Некоторые сведения о том, почему я спрашиваю об этом:

Мы используем настраиваемую роль и поставщика членства для authN / Z в нашем настраиваемом веб-приложении SharePoint 2010. Не вдаваясь в подробности того, почему (которые являются сложными) поставщик ролей создает динамически генерируемые имена ролей для пользователя на основе состояния пользователя в основной базе данных приложения; эти роли представляют разрешения для пользователя и используются внутри SharePoint для определения доступа пользователя к сайтам и семействам сайтов в приложении.

В нашем приложении пользователи могут изменять свои разрешения, эффективно добавляя новые роли через поставщика ролей, предоставляя пользователю дополнительный доступ в приложении. Проблема, с которой мы сталкиваемся, заключается в том, что аутентификация на основе утверждений, которую мы вынуждены использовать в SP2010 , предварительно вычисляет разрешения при входе в систему и кодирует эти разрешения в токене сеанса, что фактически заставляет нас просить пользователя выйти из системы. и войдите в систему, прежде чем они смогут получить свои новые разрешения. Это создает всевозможные проблемы с удобством использования, отсюда и мой вопрос.

Есть ли способ программно пересчитать токен сеанса без выхода пользователя из системы?

Или мы создаем неправильное дерево? В моем обычном счастливом мире ASP.NET я бы использовал Forms Auth, который вычисляет авторизацию при каждом запросе, а не при входе в систему. К сожалению, это не вариант в SP2010, и в данный момент я довольно застрял в SharePoint. Есть ли еще какие-то действия, которые мы можем предпринять?

6
задан Randolpho 9 November 2011 в 19:37
поделиться